<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  

  
  <title>Hexo</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta property="og:type" content="website">
<meta property="og:title" content="Hexo">
<meta property="og:url" content="https://lummer.gitee.io/hexo/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:locale" content="en_US">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/hexo/atom.xml" title="Hexo" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="/hexo/css/style.css">

<meta name="generator" content="Hexo 5.4.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/hexo/" id="logo">Hexo</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/hexo/">Home</a>
        
          <a class="main-nav-link" href="/hexo/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/hexo/atom.xml" title="RSS Feed"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="Search"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="https://lummer.gitee.io/hexo"></form>
      </div>
    </div>
  </div>
</header>
      <div class="outer">
        <section id="main">
  
    <article id="post-hello-world" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/09/15/hello-world/" class="article-date">
  <time datetime="2021-09-15T02:17:40.515Z" itemprop="datePublished">2021-09-15</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/09/15/hello-world/">Hello World</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <p>Welcome to <a target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a target="_blank" rel="noopener" href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a target="_blank" rel="noopener" href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a target="_blank" rel="noopener" href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p>
<h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/writing.html">Writing</a></p>
<h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/server.html">Server</a></p>
<h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/generating.html">Generating</a></p>
<h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/09/15/hello-world/" data-id="cktshq5a60009du9l7zso1tps" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Mac 全屏时自动隐藏程序坞" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/08/20/Mac%20%E5%85%A8%E5%B1%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E9%9A%90%E8%97%8F%E7%A8%8B%E5%BA%8F%E5%9D%9E/" class="article-date">
  <time datetime="2021-08-20T13:59:57.828Z" itemprop="datePublished">2021-08-20</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/08/20/Mac%20%E5%85%A8%E5%B1%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E9%9A%90%E8%97%8F%E7%A8%8B%E5%BA%8F%E5%9D%9E/">Mac 全屏时自动隐藏程序坞</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h1 id="Mac-全屏时自动隐藏程序坞"><a href="#Mac-全屏时自动隐藏程序坞" class="headerlink" title="Mac 全屏时自动隐藏程序坞"></a>Mac 全屏时自动隐藏程序坞</h1><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">defaults write com.apple.dock autohide-delay -int 0</span><br><span class="line">defaults write com.apple.dock autohide-time-modifier -float 1.0</span><br><span class="line">killall Dock</span><br></pre></td></tr></table></figure>


      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/08/20/Mac%20%E5%85%A8%E5%B1%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E9%9A%90%E8%97%8F%E7%A8%8B%E5%BA%8F%E5%9D%9E/" data-id="cktshq5a20003du9lbg2fh858" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Mac系统中的.DS_Store" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/07/29/Mac%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84.DS_Store/" class="article-date">
  <time datetime="2021-07-29T05:40:50.866Z" itemprop="datePublished">2021-07-29</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/07/29/Mac%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84.DS_Store/">Mac系统中的.DS_Store</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h1 id="Mac系统中的-DS-Store"><a href="#Mac系统中的-DS-Store" class="headerlink" title="Mac系统中的.DS_Store"></a>Mac系统中的.DS_Store</h1><p>.DS_Store是什么？<br>.DS_Store是Mac系统中产生的一个隐藏文件，记录文件或目录的一些自定义属性，如果我们有什么特殊的定制，完全是没用的。</p>
<p>删除文件：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">find . -name &#x27;*.DS_Store&#x27; -type f -delete</span><br></pre></td></tr></table></figure>

<p>禁止生成：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE</span><br></pre></td></tr></table></figure>

<p>恢复生成：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">defaults delete com.apple.desktopservices DSDontWriteNetworkStores</span><br></pre></td></tr></table></figure>


      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/07/29/Mac%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84.DS_Store/" data-id="cktshq5a30005du9lgpjy6huv" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Markdown" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/07/21/Markdown/" class="article-date">
  <time datetime="2021-07-21T01:09:29.974Z" itemprop="datePublished">2021-07-21</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/07/21/Markdown/">Markdown</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="Markdown-速查表"><a href="#Markdown-速查表" class="headerlink" title="Markdown 速查表"></a>Markdown 速查表</h2><h3 id="标题"><a href="#标题" class="headerlink" title="标题"></a>标题</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>一级标题</td>
<td>#</td>
<td># 一级标题</td>
</tr>
<tr>
<td>二级标题</td>
<td>##</td>
<td>## 二级标题</td>
</tr>
<tr>
<td>三级标题</td>
<td>###</td>
<td>### 三级标题</td>
</tr>
<tr>
<td>四级标题</td>
<td>####</td>
<td>#### 四级标题</td>
</tr>
<tr>
<td>五级标题</td>
<td>#####</td>
<td>##### 五级标题</td>
</tr>
<tr>
<td>六级标题</td>
<td>######</td>
<td>###### 六级标题</td>
</tr>
</tbody></table>
<p><strong>标题效果</strong></p>
<img src="https://gitee.com/Lummer/image/raw/master/img/20210721105402.png" alt="截屏2021-07-21 上午10.53.38" style="zoom:50%;" />

<h3 id="文本"><a href="#文本" class="headerlink" title="文本"></a>文本</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>加粗</td>
<td>****</td>
<td><strong>粗体</strong></td>
</tr>
<tr>
<td>斜体</td>
<td>__</td>
<td><em>斜体</em></td>
</tr>
<tr>
<td>斜体</td>
<td>**</td>
<td><em>斜体</em></td>
</tr>
<tr>
<td>删除线</td>
<td>~~ ~~</td>
<td><del>删除线</del></td>
</tr>
<tr>
<td>高亮</td>
<td>``</td>
<td><code>高亮</code></td>
</tr>
</tbody></table>
<p><strong>文本效果</strong></p>
<img src="https://gitee.com/Lummer/image/raw/master/img/20210721105719.png" alt="截屏2021-07-21 上午10.57.15" style="zoom:50%;" />

<h3 id="区块引用"><a href="#区块引用" class="headerlink" title="区块引用"></a>区块引用</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>引用</td>
<td>&gt;</td>
<td>&gt; 我是引用文字</td>
</tr>
<tr>
<td>嵌套引用</td>
<td>多个&gt;</td>
<td>&gt;&gt; 嵌套引用文字</td>
</tr>
</tbody></table>
<p><strong>区块引用效果</strong></p>
<img src="https://gitee.com/Lummer/image/raw/master/img/20210721110005.png" alt="截屏2021-07-21 上午10.59.44" style="zoom:100%;" />

<h3 id="无序列表"><a href="#无序列表" class="headerlink" title="无序列表"></a>无序列表</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>无序列表</td>
<td>*</td>
<td>* Lummer</td>
</tr>
<tr>
<td>无序列表</td>
<td>-</td>
<td>- Lummer</td>
</tr>
<tr>
<td>无序列表</td>
<td>+</td>
<td>+ Lummer</td>
</tr>
</tbody></table>
<p><strong>无序列表效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721110313.png" alt="截屏2021-07-21 上午11.03.06"></p>
<h3 id="有序列表"><a href="#有序列表" class="headerlink" title="有序列表"></a>有序列表</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>有序列表</td>
<td>1.</td>
<td>1. Lummer</td>
</tr>
</tbody></table>
<p><strong>有序列表效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721110436.png" alt="截屏2021-07-21 上午11.04.32"></p>
<h3 id="链接"><a href="#链接" class="headerlink" title="链接"></a>链接</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>链接1</td>
<td><a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
<td><a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
</tr>
<tr>
<td>链接2</td>
<td><a target="_blank" rel="noopener" href="https://www.baidu.com/">百度</a></td>
<td><a target="_blank" rel="noopener" href="https://www.baidu.com/">百度</a></td>
</tr>
<tr>
<td>链接3</td>
<td>[百度][2] [2]: <a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
<td>[百度][2] [2]: <a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
</tr>
</tbody></table>
<p><strong>链接效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721110801.png" alt="截屏2021-07-21 上午11.07.58"></p>
<h3 id="水平分割线"><a href="#水平分割线" class="headerlink" title="水平分割线"></a>水平分割线</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>水平分割线</td>
<td>***</td>
<td>***</td>
</tr>
<tr>
<td>水平分割线</td>
<td>* * *</td>
<td>* * *</td>
</tr>
<tr>
<td>水平分割线</td>
<td>—</td>
<td>—</td>
</tr>
</tbody></table>
<p><strong>链接效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721111024.png" alt="截屏2021-07-21 上午11.10.18"></p>
<h3 id="代码高亮"><a href="#代码高亮" class="headerlink" title="代码高亮"></a>代码高亮</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>代码高亮</td>
<td>``````</td>
<td><code>print(String)</code></td>
</tr>
</tbody></table>
<p><strong>代码高亮效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721111229.png" alt="截屏2021-07-21 上午11.12.21"></p>
<h3 id="行内代码"><a href="#行内代码" class="headerlink" title="行内代码"></a>行内代码</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>行内代码</td>
<td>``</td>
<td><code>print(String)</code></td>
</tr>
</tbody></table>
<p><strong>行内代码效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721111434.png" alt="截屏2021-07-21 上午11.12.21"></p>
<h3 id="目录"><a href="#目录" class="headerlink" title="目录"></a>目录</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>目录</td>
<td>[TOC]</td>
<td>[TOC]</td>
</tr>
</tbody></table>
<p><strong>目录效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721111552.png" alt="截屏2021-07-21 上午11.15.48"></p>
<h3 id="图片"><a href="#图片" class="headerlink" title="图片"></a>图片</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>插入图片1</td>
<td><img src="%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84"></td>
<td><img src="%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84"></td>
</tr>
<tr>
<td>插入图片2</td>
<td><img src="%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84">{height=30%}</td>
<td><img src="%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84">{height=30%}</td>
</tr>
</tbody></table>
<p><strong>图片效果</strong></p>
<p>![截屏2021-07-21 上午11.18.29](/Users/lipengyuan/Library/Application Support/typora-user-images/截屏2021-07-21 上午11.18.29.png)</p>
<h3 id="文本换行"><a href="#文本换行" class="headerlink" title="文本换行"></a>文本换行</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>文本换行</td>
<td><br/></td>
<td>价值<br/>前瞻</td>
</tr>
</tbody></table>
<p><strong>文本换行效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721112309.png" alt="截屏2021-07-21 上午11.23.04"></p>
<h3 id="表格"><a href="#表格" class="headerlink" title="表格"></a>表格</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>表格</td>
<td>示例</td>
<td>示例</td>
</tr>
</tbody></table>
<figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">姓名|技能|排行</span><br><span class="line">--|:--:|--:</span><br><span class="line">刘备|哭|大哥</span><br><span class="line">关羽|打|二哥</span><br><span class="line">张飞|骂|三弟</span><br></pre></td></tr></table></figure>

<p><strong>表格效果</strong></p>
<table>
<thead>
<tr>
<th>姓名</th>
<th>技能</th>
<th>排行</th>
</tr>
</thead>
<tbody><tr>
<td>刘备</td>
<td>哭</td>
<td>大哥</td>
</tr>
<tr>
<td>关羽</td>
<td>打</td>
<td>二哥</td>
</tr>
<tr>
<td>张飞</td>
<td>骂</td>
<td>三弟</td>
</tr>
</tbody></table>
<h3 id="HTML"><a href="#HTML" class="headerlink" title="HTML"></a>HTML</h3><p>Markdown支持原生HTML语法, 直接写就可以</p>
<h3 id="邮箱"><a href="#邮箱" class="headerlink" title="邮箱"></a>邮箱</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>邮箱</td>
<td>&lt;&gt;</td>
<td>&lt;&gt;</td>
</tr>
</tbody></table>
<p><strong>邮箱效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721115505.png" alt="截屏2021-07-21 上午11.55.01"></p>
<h3 id="强制分页"><a href="#强制分页" class="headerlink" title="强制分页"></a>强制分页</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>强制分页</td>
<td>&lt;div style=“page-break-after: always;”&gt;</div></td>
<td>&lt;div style=“page-break-after: always;”&gt;</div></td>
</tr>
</tbody></table>
<p>**注意: ** 在Preview窗口中不能看到分页的效果, 但是在输出的pdf文件中会完成分页</p>
<h3 id="数学公式"><a href="#数学公式" class="headerlink" title="数学公式"></a>数学公式</h3><p><a href="">在Markdown中输入数学公式(MathJax)</a></p>
<h3 id="脚注"><a href="#脚注" class="headerlink" title="脚注"></a>脚注</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>脚注</td>
<td>脚注[^1]<br>[^1]:<a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
<td>脚注[^1]<br/>[^1]:<a target="_blank" rel="noopener" href="https://www.baidu.com/">https://www.baidu.com</a></td>
</tr>
</tbody></table>
<p><strong>脚注效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721120039.png" alt="截屏2021-07-21 下午12.00.34"></p>
<h3 id="复选框"><a href="#复选框" class="headerlink" title="复选框"></a>复选框</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>复选框</td>
<td>- [x] 已完成<br>- [ ] 未知</td>
<td>- [x] 已完成<br/>- [ ] 未知</td>
</tr>
</tbody></table>
<p><strong>复选框效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721120316.png" alt="截屏2021-07-21 下午12.03.13"></p>
<h3 id="emoji"><a href="#emoji" class="headerlink" title="emoji"></a>emoji</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>emoji</td>
<td>:+1:</td>
<td>:+1:</td>
</tr>
<tr>
<td>emoji</td>
<td>:sob:</td>
<td>:sob:</td>
</tr>
<tr>
<td>emoji</td>
<td>:heart_eyes:</td>
<td>:heart_eyes:</td>
</tr>
<tr>
<td>emoji</td>
<td>:rocket:</td>
<td>:rocket:</td>
</tr>
</tbody></table>
<p>查看更多emoji表情, 请访问链接: <code>emoji-cheat-sheet</code></p>
<h3 id="流程图"><a href="#流程图" class="headerlink" title="流程图"></a>流程图</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>流程图</td>
<td><code>flow&lt;br/&gt;st=&gt;start: 开始&lt;br/&gt;op=&gt;operation: My Operation&lt;br/&gt;cond=&gt;condition: Yes or No?&lt;br/&gt;e=&gt;end&lt;br/&gt;st-&gt;op-&gt;cond&lt;br/&gt;cond(yes)-&gt;e&lt;br/&gt;cond(no)-&gt;op&lt;br/&gt;&amp;</code></td>
<td><code>flow&lt;br/&gt;st=&gt;start: 开始&lt;br/&gt;op=&gt;operation: My Operation&lt;br/&gt;cond=&gt;condition: Yes or No?&lt;br/&gt;e=&gt;end&lt;br/&gt;st-&gt;op-&gt;cond&lt;br/&gt;cond(yes)-&gt;e&lt;br/&gt;cond(no)-&gt;op&lt;br/&gt;&amp;</code></td>
</tr>
</tbody></table>
<p><strong>流程图效果</strong></p>
<img src="https://gitee.com/Lummer/image/raw/master/img/20210721120914.png" alt="截屏2021-07-21 下午12.09.10" style="zoom:50%;" />

<h3 id="文本背景强调"><a href="#文本背景强调" class="headerlink" title="文本背景强调"></a>文本背景强调</h3><table>
<thead>
<tr>
<th>名称</th>
<th>md 标记</th>
<th>md 格式</th>
</tr>
</thead>
<tbody><tr>
<td>文本背景强调</td>
<td>====</td>
<td>==Lummer==</td>
</tr>
</tbody></table>
<p><strong>文本背景强调效果</strong></p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210721121037.png" alt="截屏2021-07-21 下午12.10.33"></p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/07/21/Markdown/" data-id="cktshq5a40006du9l98mr8696" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Github国内镜像网站，解决Github访问的神器" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/07/11/Github%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E7%BD%91%E7%AB%99%EF%BC%8C%E8%A7%A3%E5%86%B3Github%E8%AE%BF%E9%97%AE%E7%9A%84%E7%A5%9E%E5%99%A8/" class="article-date">
  <time datetime="2021-07-11T15:21:48.574Z" itemprop="datePublished">2021-07-11</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/07/11/Github%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E7%BD%91%E7%AB%99%EF%BC%8C%E8%A7%A3%E5%86%B3Github%E8%AE%BF%E9%97%AE%E7%9A%84%E7%A5%9E%E5%99%A8/">Github国内镜像网站，解决Github访问的神器</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="Github国内镜像网站，解决Github访问的神器"><a href="#Github国内镜像网站，解决Github访问的神器" class="headerlink" title="Github国内镜像网站，解决Github访问的神器"></a>Github国内镜像网站，解决Github访问的神器</h2><ul>
<li><a target="_blank" rel="noopener" href="https://links.jianshu.com/go?to=https://github.com.cnpmjs.org/">https://github.com.cnpmjs.org/</a></li>
<li><a target="_blank" rel="noopener" href="https://links.jianshu.com/go?to=https://hub.fastgit.org/">https://hub.fastgit.org/</a></li>
<li><a target="_blank" rel="noopener" href="https://links.jianshu.com/go?to=https://github.wuyanzheshui.workers.dev/">https://github.wuyanzheshui.workers.dev/</a></li>
</ul>
<p><strong>gitclone.com</strong><br><a target="_blank" rel="noopener" href="https://gitclone.com/">https://gitclone.com/</a></p>
<p><strong>gitee</strong><br><a target="_blank" rel="noopener" href="https://gitee.com/mirrors">https://gitee.com/mirrors</a></p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/07/11/Github%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E7%BD%91%E7%AB%99%EF%BC%8C%E8%A7%A3%E5%86%B3Github%E8%AE%BF%E9%97%AE%E7%9A%84%E7%A5%9E%E5%99%A8/" data-id="cktshq5a00001du9l57t38mpi" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-GitHub+docsify搭建个人博客" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/07/10/GitHub+docsify%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/" class="article-date">
  <time datetime="2021-07-10T05:57:47.593Z" itemprop="datePublished">2021-07-10</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/07/10/GitHub+docsify%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/">GitHub+docsify搭建个人博客</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="GitHub-docsify搭建个人博客"><a href="#GitHub-docsify搭建个人博客" class="headerlink" title="GitHub+docsify搭建个人博客"></a>GitHub+docsify搭建个人博客</h2><h3 id="docsify环境搭建"><a href="#docsify环境搭建" class="headerlink" title="docsify环境搭建"></a>docsify环境搭建</h3><ol>
<li><p>环境</p>
<ul>
<li><code>Git</code></li>
<li><code>GitHub</code>账号</li>
<li><code>Node.js</code></li>
</ul>
</li>
<li><p>安装<code>docsify</code><br> <code>terminal</code>输入：<code>npm install docsify-cli -g</code></p>
</li>
<li><p>开始搭建</p>
<p> 选择桌面目录, 作为站点目录, 然后在<code>Terminal</code>中<code>cd</code>到这个目录, 执行<code> docsify init ./docs</code></p>
</li>
<li><p>查看生成文件(<code>docs</code>文件夹)</p>
<ul>
<li><code>index.html</code>入口文件</li>
<li><code>README.md</code>主页内容</li>
<li><code>.nojekll</code>阻止<code>Github Pages</code>忽略下划线开头的文件</li>
</ul>
</li>
<li><p>启动<br> <code>Terminal</code>中键入<code>docsify serve docs</code></p>
</li>
<li><p>浏览器访问<code>localhost:3000</code></p>
</li>
<li><p>搭建完成</p>
</li>
</ol>
<h3 id="美化"><a href="#美化" class="headerlink" title="美化"></a>美化</h3><ol>
<li><p>侧边栏<br> 先新建一个<code>_loadSidebar.md</code>文件(开头要有下划线)，可以这样写：</p>
 <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">- 一个题目</span><br><span class="line">	- [还是题目，可以加链接](Blogs\乱搞.md)</span><br><span class="line">	- [另外一个题目](Blogs\还是乱搞.md)</span><br></pre></td></tr></table></figure></li>
<li><p>修改<code>index.html</code>文件</p>
<p> 在里面的js脚本中添加一行：<code>loadSidebar: true</code></p>
<p> 我们再打开<code>localhost:3000</code>, 查看内容</p>
</li>
<li><p>封面</p>
<p> 先新建<code>_coverpage.md</code>文件, 输入以下内容</p>
 <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"># MyBlogs</span><br><span class="line"></span><br><span class="line">&gt; 后退！我要装逼了！</span><br><span class="line">[一个沙雕的个人博客,点这里访问我的GitHub](github.com/A1walker)</span><br><span class="line">[点这里访问GitHUb项目地址](</span><br></pre></td></tr></table></figure></li>
<li><p>修改<code>index.html</code>文件</p>
<p> 在里面的<code>js</code>脚本中添加一行：<code>coverpage: true</code></p>
<p> 我们再打开<code>localhost:3000</code>, 查看内容</p>
</li>
</ol>
<h3 id="Github-Pages"><a href="#Github-Pages" class="headerlink" title="Github Pages"></a>Github Pages</h3><ol>
<li><p>创建仓库,</p>
<ul>
<li>命名为<code>docs</code></li>
<li>直接点击<code>Create New repository</code></li>
</ul>
</li>
<li><p>本地导入</p>
<ul>
<li><p>打开<code>Terminal</code>, <code>cd</code>到<code>docs</code>文件夹下</p>
</li>
<li><p>依次输入以下命令</p>
  <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">git init   #初始化一个仓库</span><br><span class="line">git add -A   #添加所有文件到暂存区（先交给git管着）</span><br><span class="line">git commit -m &quot;fuck&quot;  #提交到git仓库，-m后面是注释</span><br><span class="line">git remote add origin https://github.com/Lummer-Li/docs.git  #网址要根据情况变化</span><br><span class="line">git push -u origin master  #推送到远程docs仓库</span><br></pre></td></tr></table></figure></li>
</ul>
</li>
<li><p><code>GitHub Settings</code></p>
<ul>
<li><code>GitHub Pages</code></li>
<li><code>Source</code>下面选择<code>master branch/root folder(如果是以文件夹的形式放进去的, 选择 /docs)</code></li>
<li>完成</li>
</ul>
</li>
<li><p>访问</p>
</li>
</ol>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/07/10/GitHub+docsify%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/" data-id="cktshq59w0000du9lg7ub0ug0" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Linux" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/03/03/Linux/" class="article-date">
  <time datetime="2021-03-03T10:36:58.581Z" itemprop="datePublished">2021-03-03</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/03/03/Linux/">Linux</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="Linux"><a href="#Linux" class="headerlink" title="Linux"></a>Linux</h2><h3 id="入门概述"><a href="#入门概述" class="headerlink" title="入门概述"></a>入门概述</h3><h4 id="Linux-简介"><a href="#Linux-简介" class="headerlink" title="Linux 简介"></a>Linux 简介</h4><p>Linux 内核最初只是芬兰人Linus Torvalds在赫尔辛基大学上学时出于个人爱好而编写的</p>
<p>Linux 是一套免费使用和自由传播的类 Unix 操作系统, 是一个基于 POSIX(可移植操作系统接口)和 UNIX 的多用户、多任务、支持多线程和多CPU的操作系统</p>
<p>Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议, 他支持 32 位和 64 位硬件. Linux 继承了 Unix 以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统</p>
<h4 id="Linux-发行版"><a href="#Linux-发行版" class="headerlink" title="Linux 发行版"></a>Linux 发行版</h4><p>Linux 的发行版说简单点就是将 Linux 内核与应用软件打包</p>
<p>Kali Linux: 安全渗透测试使用(有兴趣做安全的可以了解一下)</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210718203535.jpg" alt="img"></p>
<p>目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210718203546.jpg" alt="img"></p>
<h4 id="Linux-应用领域"><a href="#Linux-应用领域" class="headerlink" title="Linux 应用领域"></a>Linux 应用领域</h4><p>今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP（Linux + Apache + MySQL + PHP）或 LNMP（Linux + Nginx+ MySQL + PHP）组合.</p>
<p>目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎.</p>
<ul>
<li>巴西联邦政府由于支持 Linux 而世界闻名.</li>
<li>有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果.</li>
<li>印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux.</li>
<li>中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux.</li>
<li>在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex.</li>
<li>葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件.</li>
<li>法国和德国同样开始逐步采用 Linux.</li>
</ul>
<h4 id="Linux-VS-Windows"><a href="#Linux-VS-Windows" class="headerlink" title="Linux VS Windows"></a>Linux VS Windows</h4><p>目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210718203617.png" alt="截屏2021-07-18 下午8.36.13"></p>
<h3 id="环境搭建"><a href="#环境搭建" class="headerlink" title="环境搭建"></a>环境搭建</h3><h4 id="安装CentOS"><a href="#安装CentOS" class="headerlink" title="安装CentOS"></a>安装CentOS</h4><ol>
<li>可以通过镜像进行安装</li>
<li>安装VMware虚拟机软件, 打开镜像即可使用</li>
</ol>
<p>安装教程: <a target="_blank" rel="noopener" href="https://www.runoob.com/linux/linux-install.html">https://www.runoob.com/linux/linux-install.html</a></p>
<h4 id="购买云服务器"><a href="#购买云服务器" class="headerlink" title="购买云服务器"></a>购买云服务器</h4><ol>
<li>阿里云购买服务器: <a target="_blank" rel="noopener" href="https://www.aliyun.com/minisite/goods?userCode=0phtycgr">https://www.aliyun.com/minisite/goods?userCode=0phtycgr</a></li>
<li>购买完毕后, 获取服务器的IP地址, 充值服务器密码, 进行远程登录</li>
<li>下载XShell工具, 进行远程连接使用</li>
</ol>
<p>**注意事项: **如果要打开端口, 需要在阿里云的安全组面板中开启对应的出入规则</p>
<h4 id="宝塔面板-傻瓜式管理服务器"><a href="#宝塔面板-傻瓜式管理服务器" class="headerlink" title="宝塔面板(傻瓜式管理服务器)"></a>宝塔面板(傻瓜式管理服务器)</h4><p>安装教程: <a target="_blank" rel="noopener" href="https://www.bt.cn/bbs/thread-19376-1-1.html">https://www.bt.cn/bbs/thread-19376-1-1.html</a></p>
<ol>
<li>开启对应的端口</li>
<li>一键安装</li>
<li>安装完毕后, 保存远程面板的地址、账号和密码, 进行登录</li>
<li>可视化安装环境和部署网站</li>
</ol>
<h4 id="域名"><a href="#域名" class="headerlink" title="域名"></a>域名</h4><p>如果自己的网站想要上线, 可以买一个域名进行备案</p>
<p><strong>备案需要一些认证和时间, 备案完毕后, 就可以解析到自己的网站, 使用域名进行服务器的访问</strong></p>
<h3 id="走进-Linux-系统"><a href="#走进-Linux-系统" class="headerlink" title="走进 Linux 系统"></a>走进 Linux 系统</h3><h4 id="开机登录"><a href="#开机登录" class="headerlink" title="开机登录"></a>开机登录</h4><p>开机会启动许多程序, 他们在Windows叫做“服务”(service), 在Linux就叫做“守护进程”(daemon)</p>
<p>开机成功后, 他会显示一个文本登陆界面, 输入用户名和密码, 回车即可</p>
<p>用户的登录方式</p>
<ul>
<li>命令行登录</li>
<li>ssh登陆</li>
<li>图形用户界面登陆</li>
</ul>
<p><strong>最高权限账户是root, 可以操作一切</strong></p>
<h4 id="关机"><a href="#关机" class="headerlink" title="关机"></a>关机</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line">shutdown # 关机指令</span><br><span class="line">sync # 将数据由内存同步到硬盘中</span><br><span class="line"></span><br><span class="line">shutdown # 关机指令, 你可以 man shutdown 来看一下帮助文档. 例如你可以运行如下命令关机</span><br><span class="line"></span><br><span class="line">shutdown –h 10 # 这个命令告诉大家, 计算机将在10分钟后关机</span><br><span class="line"></span><br><span class="line">shutdown –h now # 立马关机</span><br><span class="line"></span><br><span class="line">shutdown –h 20:25 # 系统会在今天20:25关机</span><br><span class="line"></span><br><span class="line">shutdown –h +10 # 十分钟后关机</span><br><span class="line"></span><br><span class="line">shutdown –r now # 系统立马重启</span><br><span class="line"></span><br><span class="line">shutdown –r +10 # 系统十分钟后重启</span><br><span class="line"></span><br><span class="line">reboot # 就是重启, 等同于 shutdown –r now</span><br><span class="line"></span><br><span class="line">halt # 关闭系统, 等同于shutdown –h now 和 poweroff</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 总之, 不管是重启系统还是关闭系统, 首先要运行sync命令, 把内存中的数据写到磁盘中</span></span><br></pre></td></tr></table></figure>

<h4 id="系统目录结构"><a href="#系统目录结构" class="headerlink" title="系统目录结构"></a>系统目录结构</h4><p>登陆系统后, 在当前命令窗口输入以下命令:<code>ls /</code>, 会查看到当前目录下的所有文件及文件夹</p>
<p>树形目录结构(Linux的一切资源都挂载在这个/根节点下)</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210718204945.jpeg" alt="图片"></p>
<ul>
<li><p><strong>/bin</strong>:bin是Binary的缩写, 这个目录存放着最经常使用的命令.</p>
</li>
<li><p><strong>/boot:</strong> 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件.</p>
</li>
<li><p><strong>/dev :</strong> dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的.</p>
</li>
<li><p><strong>/etc:</strong> 这个目录用来存放所有的系统管理所需要的配置文件和子目录.</p>
</li>
<li><p><strong>/home</strong>:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的.</p>
</li>
<li><p><strong>/lib</strong>:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件.</p>
</li>
<li><p><strong>/lost+found</strong>:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件.</p>
</li>
<li><p><strong>/media</strong>:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下.</p>
</li>
<li><p><strong>/mnt</strong>:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了.</p>
</li>
<li><p><strong>/opt</strong>:这是给主机额外安装软件所摆放的目录.比如你安装一个ORACLE数据库则就可以放到这个目录下.默认是空的.</p>
</li>
<li><p><strong>/proc</strong>:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息.</p>
</li>
<li><p><strong>/root</strong>:该目录为系统管理员,也称作超级权限者的用户主目录.</p>
</li>
<li><p><strong>/sbin</strong>:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序.</p>
</li>
<li><p><strong>/srv</strong>:该目录存放一些服务启动之后需要提取的数据.</p>
</li>
<li><p><strong>/sys</strong>:这是linux2.6内核的一个很大的变化.该目录下安装了2.6内核中新出现的一个文件系统 sysfs .</p>
</li>
<li><p><strong>/tmp</strong>:这个目录是用来存放一些临时文件的.</p>
</li>
<li><p><strong>/usr</strong>:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录.</p>
</li>
<li><p><strong>/usr/bin:</strong> 系统用户使用的应用程序.</p>
</li>
<li><p><strong>/usr/sbin:</strong> 超级用户使用的比较高级的管理程序和系统守护程序.</p>
</li>
<li><p><strong>/usr/src:</strong> 内核源代码默认的放置目录.</p>
</li>
<li><p><strong>/var</strong>:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下.包括各种日志文件.</p>
</li>
<li><p><strong>/run</strong>:是一个临时文件系统,存储系统启动以来的信息.当系统重启时,这个目录下的文件应该被删掉或清除.</p>
</li>
</ul>
<h3 id="目录管理"><a href="#目录管理" class="headerlink" title="目录管理"></a>目录管理</h3><h4 id="绝对路径和相对路径"><a href="#绝对路径和相对路径" class="headerlink" title="绝对路径和相对路径"></a>绝对路径和相对路径</h4><p><strong>绝对路径</strong></p>
<p>路径的写法, 由根目录/写起, 例如/usr/share/doc</p>
<p><strong>相对目录</strong></p>
<p>路径的写法, 不是由/写起, 例如由/usr/share/doc转移到/usr/share/man底下, 可以写成: cd ../man</p>
<h4 id="处理目录的常用命令"><a href="#处理目录的常用命令" class="headerlink" title="处理目录的常用命令"></a>处理目录的常用命令</h4><ul>
<li>ls: 列出目录</li>
<li>cd: 切换目录</li>
<li>pwd: 显示当前目录</li>
<li>mkdir: 创建一个新的目录</li>
<li>rmdir: 删除一个空的目录</li>
<li>cp: 复制文件或目录</li>
<li>rm: 移除文件或目录</li>
<li>mv: 移动文件与目录, 或修改文件与目录的名称</li>
</ul>
<p>**注意: **可以使用man [命令]来查看各个命令的使用文档, 如man cp</p>
<h4 id="ls-列出目录"><a href="#ls-列出目录" class="headerlink" title="ls(列出目录)"></a>ls(列出目录)</h4><p>在Linux系统中, ls命令可能是最常被运行的</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">ls [-aAdfFhilnrRSt] 目录名称</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-a: 全部的文件, 连同隐藏文件(开头为.的文件)一起列出来</li>
<li>-l: 长数据串列出, 包含文件的属性与权限等等</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法(列出文件, 包含属性与隐藏档)</span></span><br><span class="line">ls -al ~</span><br></pre></td></tr></table></figure>

<h4 id="cd-切换目录"><a href="#cd-切换目录" class="headerlink" title="cd(切换目录)"></a>cd(切换目录)</h4><p>cd(Change Directory) 是用来变换工作目录的命令</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">cd [相对路径或绝对路径]</span><br></pre></td></tr></table></figure>

<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 切换到用户目录下</span></span><br><span class="line">[root@kuangshen /]# cd home  </span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 使用 mkdir 命令创建 kuangstudy 目录</span></span><br><span class="line">[root@kuangshen home]# mkdir kuangstudy</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 进入 kuangstudy 目录</span></span><br><span class="line">[root@kuangshen home]# cd kuangstudy</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 回到上一级</span></span><br><span class="line">[root@kuangshen kuangstudy]# cd ..</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 回到根目录</span></span><br><span class="line">[root@kuangshen kuangstudy]# cd /</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 表示回到自己的家目录,亦即是 /root 这个目录</span></span><br><span class="line">[root@kuangshen kuangstudy]# cd ~</span><br></pre></td></tr></table></figure>

<h4 id="pwd-显示当前目录"><a href="#pwd-显示当前目录" class="headerlink" title="pwd(显示当前目录)"></a>pwd(显示当前目录)</h4><p>pwd(Print Working Directory) 显示当前目录的命令</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">pwd [-P]</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-P: 显示出确实的路径, 而非使用连接(link)路径</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 单纯显示出目前的工作目录</span></span><br><span class="line">[root@kuangshen ~]# pwd</span><br><span class="line">/root</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 如果是链接,要显示真实地址,可以使用 -P参数</span></span><br><span class="line">[root@kuangshen /]# cd bin</span><br><span class="line">[root@kuangshen bin]# pwd -P</span><br><span class="line">/usr/bin</span><br></pre></td></tr></table></figure>

<h4 id="mkdir-创建新目录"><a href="#mkdir-创建新目录" class="headerlink" title="mkdir(创建新目录)"></a>mkdir(创建新目录)</h4><p>mkdir(make directory) 创建新的目录</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">mkdir [-mp] 目录名称</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-m: 配置文件的权限, 直接配置, 不需要看默认权限(umask)</li>
<li>-p: 帮助你将所需要的目录(包含上一级目录)递归创建起来</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 进入我们用户目录下</span></span><br><span class="line">[root@kuangshen /]# cd /home</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 创建一个 <span class="built_in">test</span> 文件夹</span></span><br><span class="line">[root@kuangshen home]# mkdir test</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 创建多层级目录</span></span><br><span class="line">[root@kuangshen home]# mkdir test1/test2/test3/test4</span><br><span class="line">mkdir: cannot create directory ‘test1/test2/test3/test4’:</span><br><span class="line">No such file or directory  # &lt;== 没办法直接创建此目录啊.</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 加了这个 -p 的选项,可以自行帮你创建多层目录.</span></span><br><span class="line">[root@kuangshen home]# mkdir -p test1/test2/test3/test4</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 创建权限为 rwx--x--x 的目录.</span></span><br><span class="line">[root@kuangshen home]# mkdir -m 711 test2</span><br><span class="line">[root@kuangshen home]# ls -l</span><br><span class="line">drwxr-xr-x 2 root root  4096 Mar 12 21:55 test</span><br><span class="line">drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1</span><br><span class="line">drwx--x--x 2 root root  4096 Mar 12 21:58 test2</span><br></pre></td></tr></table></figure>

<h4 id="rmdir-删除空目录"><a href="#rmdir-删除空目录" class="headerlink" title="rmdir(删除空目录)"></a>rmdir(删除空目录)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">rmdir [-p] 目录名称</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-p: 连同上一级[空的]目录一起删除</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 看看有多少目录存在？</span></span><br><span class="line">[root@kuangshen home]# ls -l</span><br><span class="line">drwxr-xr-x 2 root root  4096 Mar 12 21:55 test</span><br><span class="line">drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1</span><br><span class="line">drwx--x--x 2 root root  4096 Mar 12 21:58 test2</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 可直接删除掉,没问题</span></span><br><span class="line">[root@kuangshen home]# rmdir test</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 因为尚有内容,所以无法删除.</span></span><br><span class="line">[root@kuangshen home]# rmdir test1</span><br><span class="line">rmdir: failed to remove ‘test1’: Directory not empty</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 依次删除.</span></span><br><span class="line">[root@kuangshen home]# rmdir -p test1/test2/test3/test4</span><br></pre></td></tr></table></figure>

<h4 id="cp-复制文件或目录"><a href="#cp-复制文件或目录" class="headerlink" title="cp(复制文件或目录)"></a>cp(复制文件或目录)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">cp [-adfilprsu] 来源档(source) 目标档(destination)</span><br><span class="line">cp [options] source1 source2 source3 ... directory</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-a: 相当于-pdr的意思</li>
<li>-p: 连同文件的属性一起复制过去, 而非使用默认属性(备份常用)</li>
<li>-d: 若来源档为连结档的属性(link file), 则复制连结档属性而非文件本身</li>
<li>-r: 递归持续复制, 用于目录的复制行为</li>
<li>-f: 为强制(force)的意思, 若目标文件已经存在且无法开启, 则移除后再尝试一次</li>
<li>-i: 若目标档(destination)已经存在, 在覆盖时会先询问是否进行操作</li>
<li>-l: 进行硬式连接(hard link)的连结档创建, 而非复制文件本身</li>
<li>-s: 复制成为符号连结档(symbolic link), 即[捷径]文件</li>
<li>-u: 若destination比source旧才升级destination</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 找一个有文件的目录,我这里找到 root目录</span></span><br><span class="line">[root@kuangshen home]# cd /root</span><br><span class="line">[root@kuangshen ~]# ls</span><br><span class="line">install.sh</span><br><span class="line">[root@kuangshen ~]# cd /home</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 复制 root目录下的install.sh 到 home目录下</span></span><br><span class="line">[root@kuangshen home]# cp /root/install.sh /home</span><br><span class="line">[root@kuangshen home]# ls</span><br><span class="line">install.sh</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 再次复制,加上-i参数,增加覆盖询问？</span></span><br><span class="line">[root@kuangshen home]# cp -i /root/install.sh /home</span><br><span class="line">cp: overwrite ‘/home/install.sh’? y # n不覆盖,y为覆盖</span><br></pre></td></tr></table></figure>

<h4 id="rm-移除文件或目录"><a href="#rm-移除文件或目录" class="headerlink" title="rm(移除文件或目录)"></a>rm(移除文件或目录)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">rm [-fir] 文件或目录</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-f: 就是force的意思, 忽略不存在的文件, 不会出现警告信息</li>
<li>-i: 互动模式, 在删除前会询问使用者是否进行操作</li>
<li>-r: 递归删除(⚠️)</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 将刚刚在 cp 的实例中创建的 install.sh删除掉.</span></span><br><span class="line">[root@kuangshen home]# rm -i install.sh</span><br><span class="line">rm: remove regular file ‘install.sh’? y</span><br><span class="line"><span class="meta">#</span><span class="bash"> 如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名.</span></span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 尽量不要在服务器上使用 rm -rf /</span></span><br></pre></td></tr></table></figure>

<h4 id="mv-移动文件与目录-或修改名称"><a href="#mv-移动文件与目录-或修改名称" class="headerlink" title="mv(移动文件与目录, 或修改名称)"></a>mv(移动文件与目录, 或修改名称)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">mv [-fiu] source destination</span><br><span class="line">mv [options] source1 source2 source2 ... directory</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-f: force强制的意思, 如果目标文件已经存在, 不会询问就直接覆盖</li>
<li>-i: 若目标文件(destination)已经存在, 就会询问是否覆盖</li>
<li>-u: 若目标文件已经存在, 且source比较新, 才会升级(update)</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 复制一个文件到当前目录</span></span><br><span class="line">[root@kuangshen home]# cp /root/install.sh /home</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 创建一个文件夹 <span class="built_in">test</span></span></span><br><span class="line">[root@kuangshen home]# mkdir test</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 将复制过来的文件移动到我们创建的目录,并查看</span></span><br><span class="line">[root@kuangshen home]# mv install.sh test</span><br><span class="line">[root@kuangshen home]# ls</span><br><span class="line">test</span><br><span class="line">[root@kuangshen home]# cd test</span><br><span class="line">[root@kuangshen test]# ls</span><br><span class="line">install.sh</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 将文件夹重命名,然后再次查看.</span></span><br><span class="line">[root@kuangshen test]# cd ..</span><br><span class="line">[root@kuangshen home]# mv test mvtest</span><br><span class="line">[root@kuangshen home]# ls</span><br><span class="line">mvtest</span><br></pre></td></tr></table></figure>

<h3 id="基本属性"><a href="#基本属性" class="headerlink" title="基本属性"></a>基本属性</h3><h4 id="查看文件属性"><a href="#查看文件属性" class="headerlink" title="查看文件属性"></a>查看文件属性</h4><p>Linux系统是一种典型的多用户系统, 不同的用户处于不同的地位, 拥有不同的权限. 为了保护系统的安全性, Linux系统对不同用户访问同一个文件(包括目录文件)的权限做了不同的规定</p>
<p>在Linux中我们可以使用<code>ll</code>或者<code>ls –l</code>命令来显示一个文件的属性以及文件所属的用户和组,如</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210720164937.png" alt="image-20210720164934906"></p>
<p>在Linux中第一个字符代表了这个文件是目录、文件或链接文件等等</p>
<ul>
<li>当为[d]则是目录</li>
<li>当为[-]则是文件</li>
<li>当为[l]则表示链接文档(link file)</li>
<li>当为[b]则表示装置文件里面的可供存储的接口设备(可随机存取装置)</li>
<li>当为[c]则表示装置文件里面的串行端口设备, 例如鼠标、键盘(一次性读取装置)</li>
</ul>
<p>接下来的字符中, 以三个为一组, 且均为[rwx]的三个参数的组合</p>
<ul>
<li>[r]代表可读[read]</li>
<li>[w]代表可写[write]</li>
<li>[x]代表可执行[execute]</li>
</ul>
<p>**注意: **这三个权限的位置不会改变, 如果没有权限, 就会出现[-]</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210720165500.jpeg" alt="图片"></p>
<p>从左至右用0-9这些数字表示</p>
<p>第0位确定文件类型,第1-3位确定属主（该文件的所有者）拥有该文件的权限.第4-6位确定属组（所有者的同组用户）拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限.</p>
<p>其中:</p>
<p>第1、4、7位表示读权限,如果用”r”字符表示,则有读权限,如果用”-“字符表示,则没有读权限;</p>
<p>第2、5、8位表示写权限,如果用”w”字符表示,则有写权限,如果用”-“字符表示没有写权限;</p>
<p>第3、6、9位表示可执行权限,如果用”x”字符表示,则有执行权限,如果用”-“字符表示,则没有执行权限.</p>
<p>对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户.</p>
<p>同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组.</p>
<p>文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户.</p>
<p>因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限.</p>
<p>在以上实例中,boot 文件是一个目录文件,属主和属组都为 root.</p>
<h4 id="修改文件属性"><a href="#修改文件属性" class="headerlink" title="修改文件属性"></a>修改文件属性</h4><ol>
<li><p>chgrp:更改文件属组</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chgrp [-R] 属组名 文件名</span><br></pre></td></tr></table></figure>

<p> -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改.</p>
</li>
<li><p>chown:更改文件属主,也可以同时更改文件属组</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">chown [–R] 属主名 文件名</span><br><span class="line">chown [-R] 属主名:属组名 文件名</span><br></pre></td></tr></table></figure></li>
<li><p>chmod:更改文件9个属性</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chmod [-R] xyz 文件或目录</span><br></pre></td></tr></table></figure>

<p> Linux文件属性有两种设置方法,一种是数字,一种是符号.</p>
<p> Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限.</p>
<p> 先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的.其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">r:4     w:2         x:1</span><br></pre></td></tr></table></figure>

<p> 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:</p>
<ul>
<li>owner = rwx = 4+2+1 = 7</li>
<li>group = rwx = 4+2+1 = 7</li>
<li>others= — = 0+0+0 = 0</li>
</ul>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chmod 770 filename</span><br></pre></td></tr></table></figure></li>
</ol>
<h3 id="文件内容查看"><a href="#文件内容查看" class="headerlink" title="文件内容查看"></a>文件内容查看</h3><h4 id="概述"><a href="#概述" class="headerlink" title="概述"></a>概述</h4><p>Linux系统中使用以下命令查看文件内容</p>
<ul>
<li>cat 由第一行开始显示文件内容</li>
<li>tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写.</li>
<li>nl  显示的时候,顺道输出行号.</li>
<li>more 一页一页的显示文件内容</li>
<li>less 与 more 类似,但是比 more 更好的是,他可以往前翻页.</li>
<li>head 只看头几行</li>
<li>tail 只看尾巴几行</li>
</ul>
<p>**注意: **可以使用man [命令]来查看各个命令的使用文档, 如man cp</p>
<h4 id="cat-由第一行开始显示文件内容"><a href="#cat-由第一行开始显示文件内容" class="headerlink" title="cat(由第一行开始显示文件内容)"></a>cat(由第一行开始显示文件内容)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">cat [-AbEnTv]</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-A: 相当于 -vET 的整合选项, 可列出一些特殊字符而不是空白而已</li>
<li>-b: 列出行号, 仅针对非空白行做行号显示, 空白行不标行号</li>
<li>-E: 将结尾的断行字节 $ 显示出来</li>
<li>-n: 列印出行号, 连同空白行也会有行号, 与 -b 的选项不同</li>
<li>-T: 将 [tab] 按键以 ^I 显示出来</li>
<li>-v: 列出一些看不出来的特殊字符</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/</span></span><br><span class="line">[root@kuangshen ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0</span><br><span class="line">DEVICE=eth0</span><br><span class="line">BOOTPROTO=dhcp</span><br><span class="line">ONBOOT=yes</span><br></pre></td></tr></table></figure>

<h4 id="tac"><a href="#tac" class="headerlink" title="tac"></a>tac</h4><p>tac与cat命令刚好相反, 文件内容从最后一行开始显示, 可以看出 tac 是 cat 的倒着写</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen ~]# tac /etc/sysconfig/network-scripts/ifcfg-eth0</span><br><span class="line">ONBOOT=yes</span><br><span class="line">BOOTPROTO=dhcp</span><br><span class="line">DEVICE=eth0</span><br></pre></td></tr></table></figure>

<h4 id="nl-显示行号"><a href="#nl-显示行号" class="headerlink" title="nl(显示行号)"></a>nl(显示行号)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">nl [-bnw] 文件</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-b: 指定行号指定的方式, 主要有两种: -b a: 表示不论是否为空行, 也同样列出行号(类似 cat -n). -b t: 如果有空行, 空的那一行不要列出行号(默认值)</li>
<li>-n: 列出行号表示的方法, 主要有三种: -n ln: 行号在荧幕的最左方显示; -n rn: 行号在自己栏位的最右方显示, 且不加 0. -n rz: 行号在自己栏位的最右方显示, 且加 0 </li>
<li>-w: 行号栏位的占用的位数</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0</span><br><span class="line">1DEVICE=eth0</span><br><span class="line">2BOOTPROTO=dhcp</span><br><span class="line">3ONBOOT=yes</span><br></pre></td></tr></table></figure>

<h4 id="more-一页一页翻动"><a href="#more-一页一页翻动" class="headerlink" title="more(一页一页翻动)"></a>more(一页一页翻动)</h4><p>在more程序运行过程中, 可以按以下按键</p>
<ul>
<li>空白键(space): 代表向下翻一页</li>
<li>Enter: 代表向下翻一行</li>
<li>/字串: 代表在这个显示的内容中, 向下搜寻[字串]关键字</li>
<li>:f : 立刻显示出档名以及目前显示的行数</li>
<li>q: 代表立即离开more, 不再显示该文件内容</li>
<li>b或[ctrl]-b: 代表往回翻页, 不过这动作只对文件有用, 对管线无用</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen etc]# more /etc/csh.login</span><br><span class="line">....(中间省略)....</span><br><span class="line"><span class="meta">--More--(28%</span><span class="bash">) <span class="comment"># 重点在这一行喔.你的光标也会在这里等待你的命令</span></span></span><br></pre></td></tr></table></figure>

<h4 id="less-一页一页翻动"><a href="#less-一页一页翻动" class="headerlink" title="less(一页一页翻动)"></a>less(一页一页翻动)</h4><ul>
<li><p>空白键: 向下翻动一页</p>
</li>
<li><p>[pagedown]: 向下翻动一页</p>
</li>
<li><p>[pageup]: 向上翻动一页</p>
</li>
<li><p>/字串: 向下搜寻[字串]关键字</p>
</li>
<li><p>?字串: 向上搜寻[字串]关键字</p>
</li>
<li><p>n: 重复前一个搜寻(与/或?有关)</p>
</li>
<li><p>N: 反向的重复前一个搜寻(与/或?有关)</p>
</li>
<li><p>q: 离开less这个程序</p>
</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen etc]# more /etc/csh.login</span><br><span class="line">....(中间省略)....</span><br><span class="line">:   # 这里可以等待你输入命令.</span><br></pre></td></tr></table></figure>

<h4 id="head-取出文件前面几行"><a href="#head-取出文件前面几行" class="headerlink" title="head(取出文件前面几行)"></a>head(取出文件前面几行)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">head [-n number] 文件</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-n: 后面接数字, 代表显示几行的意思</li>
</ul>
<p><strong>默认情况, 显示前面10行, 若要显示前20行, 如下</strong></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen etc]# head -n 20 /etc/csh.login</span><br></pre></td></tr></table></figure>

<h4 id="tail-取出文件后面几行"><a href="#tail-取出文件后面几行" class="headerlink" title="tail(取出文件后面几行)"></a>tail(取出文件后面几行)</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">tail [-n number] 文件</span><br></pre></td></tr></table></figure>

<p><strong>选项与参数</strong></p>
<ul>
<li>-n: 后面接数字, 代表显示几行的意思</li>
</ul>
<p><strong>默认情况, 显示前面10行, 若要显示前20行, 如下</strong></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen etc]# head -n 20 /etc/csh.login</span><br></pre></td></tr></table></figure>

<h4 id="拓展-Linux-链接概念"><a href="#拓展-Linux-链接概念" class="headerlink" title="拓展: Linux 链接概念"></a>拓展: Linux 链接概念</h4><p>Linux链接分两种, 一种被称为硬链接(hard link), 另一种被称为符号链接(symbolic link)</p>
<p>默认情况下, ln命令产生硬连接</p>
<p><strong>硬连接</strong></p>
<p>==说白了就是复制粘贴了个文件==</p>
<p>硬连接指通过索引节点来进行连接. 在 Linux 的文件系统中, 保存在磁盘分区中的文件不管是什么类型都给它分配一个编号, 称为索引节点号(Inode Index). 在 Linux 中, 多个文件名指向同一索引节点是存在的. 比如: A 是 B 的硬链接(A 和 B 都是文件名), 则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同, 即一个 inode 节点对应两个不同的文件名, 两个文件名指向同一个文件, A 和 B 对文件系统来说是完全平等的. 删除其中任何一个都不会影响另外一个的访问</p>
<p>硬连接的作用是允许一个文件拥有多个有效路径名, 这样用户就可以建立硬连接到重要文件, 以防止“误删”的功能. 其原因如上所述, 因为对应该目录的索引节点有一个以上的连接. 只删除一个连接并不影响索引节点本身和其它的连接, 只有当最后一个连接被删除后, 文件的数据块及目录的连接才会被释放. 也就是说, 文件真正删除的条件是与之相关的所有硬连接文件均被删除</p>
<p><strong>软连接</strong></p>
<p>==快捷方式, 删除原文件也就没用了==</p>
<p>另外一种连接称之为符号连接(Symbolic Link), 也叫软连接. 软链接文件有类似于 Windows 的快捷方式. 它实际上是一个特殊的文件. 在符号连接中, 文件实际上是一个文本文件, 其中包含的有另一文件的位置信息. 比如: A 是 B 的软链接(A 和 B 都是文件名), A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同, A 和 B 指向的是两个不同的 inode, 继而指向两块不同的数据块. 但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项). A 和 B 之间是“主从”关系, 如果 B 被删除了, A 仍然存在(因为两个是不同的文件), 但指向的是一个无效的链接</p>
<p><strong>测试:</strong></p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen /]# cd /home</span><br><span class="line">[root@kuangshen home]# touch f1 # 创建一个测试文件f1</span><br><span class="line">[root@kuangshen home]# ls</span><br><span class="line">f1</span><br><span class="line">[root@kuangshen home]# ln f1 f2     # 创建f1的一个硬连接文件f2</span><br><span class="line">[root@kuangshen home]# ln -s f1 f3   # 创建f1的一个符号连接文件f3</span><br><span class="line">[root@kuangshen home]# ls -li       # -i参数显示文件的inode节点信息</span><br><span class="line">397247 -rw-r--r-- 2 root root     0 Mar 13 00:50 f1</span><br><span class="line">397247 -rw-r--r-- 2 root root     0 Mar 13 00:50 f2</span><br><span class="line">397248 lrwxrwxrwx 1 root root     2 Mar 13 00:50 f3 -&gt; f1</span><br></pre></td></tr></table></figure>

<p>从上面的结果中可以看出, 硬连接文件 f2 与原文件 f1 的 inode 节点相同, 均为 397247, 然而符号连接文件的 inode 节点不同</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> <span class="built_in">echo</span> 字符串输出 &gt;&gt; f1 输出到 f1文件</span></span><br><span class="line">[root@kuangshen home]# echo &quot;I am f1 file&quot; &gt;&gt;f1</span><br><span class="line">[root@kuangshen home]# cat f1</span><br><span class="line">I am f1 file</span><br><span class="line">[root@kuangshen home]# cat f2</span><br><span class="line">I am f1 file</span><br><span class="line">[root@kuangshen home]# cat f3</span><br><span class="line">I am f1 file</span><br><span class="line">[root@kuangshen home]# rm -f f1</span><br><span class="line">[root@kuangshen home]# cat f2</span><br><span class="line">I am f1 file</span><br><span class="line">[root@kuangshen home]# cat f3</span><br><span class="line">cat: f3: No such file or directory</span><br></pre></td></tr></table></figure>

<p>通过上面的测试可以看出: 当删除原始文件 f1 后, 硬连接 f2 不受影响, 但是符号连接 f1 文件无效</p>
<p>依此您可以做一些相关的测试, 可以得到以下全部结论</p>
<ul>
<li>删除符号连接f3, 对f1, f2无影响</li>
<li>删除硬连接f2, 对f1, f3也无影响</li>
<li>删除原文件f1, 对硬连接f2没有影响, 导致符号连接f3失效</li>
<li>同时删除原文件f1, 硬连接f2, 整个文件会真正的被删除</li>
</ul>
<h3 id="Vim使用"><a href="#Vim使用" class="headerlink" title="Vim使用"></a>Vim使用</h3><h4 id="什么是Vim编辑器"><a href="#什么是Vim编辑器" class="headerlink" title="什么是Vim编辑器"></a>什么是Vim编辑器</h4><p>Vim是从 vi 发展出来的一个文本编辑器.代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.</p>
<p>简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方.</p>
<p>vim 则可以说是程序开发者的一项很好用的工具.</p>
<p>所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在.</p>
<p>连 vim 的官方网站 (<a target="_blank" rel="noopener" href="http://www.vim.org/">http://www.vim.org</a>) 自己也说 vim 是一个程序开发工具而不是文字处理软件.</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210720175956.gif" alt="img"></p>
<h4 id="三种使用模式"><a href="#三种使用模式" class="headerlink" title="三种使用模式"></a>三种使用模式</h4><p>基本上 vi/vim 共分为三种模式,分别是<strong>命令模式（Command mode）</strong>,<strong>输入模式（Insert mode）</strong>和<strong>底线命令模式（Last line mode）</strong>.这三种模式的作用分别是:</p>
<p><strong>命令模式:</strong></p>
<p>用户刚刚启动 vi/vim,便进入了命令模式.</p>
<p>此状态下敲击键盘动作会被Vim识别为命令,而非输入字符.比如我们此时按下i,并不会输入一个字符,i被当作了一个命令.</p>
<p>以下是常用的几个命令:</p>
<ul>
<li><strong>i</strong> 切换到输入模式,以输入字符.</li>
<li><strong>x</strong> 删除当前光标所在处的字符.</li>
<li><strong>:</strong> 切换到底线命令模式,以在最底一行输入命令.</li>
</ul>
<p>若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式.</p>
<p>命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令.</p>
<p><strong>输入模式:</strong></p>
<p>在命令模式下按下i就进入了输入模式.</p>
<p>在输入模式中,可以使用以下按键:</p>
<ul>
<li><strong>字符按键以及Shift组合</strong>,输入字符</li>
<li><strong>ENTER</strong>,回车键,换行</li>
<li><strong>BACK SPACE</strong>,退格键,删除光标前一个字符</li>
<li><strong>DEL</strong>,删除键,删除光标后一个字符</li>
<li><strong>方向键</strong>,在文本中移动光标</li>
<li><strong>HOME</strong>/<strong>END</strong>,移动光标到行首/行尾</li>
<li><strong>Page Up</strong>/<strong>Page Down</strong>,上/下翻页</li>
<li><strong>Insert</strong>,切换光标为输入/替换模式,光标将变成竖线/下划线</li>
<li><strong>ESC</strong>,退出输入模式,切换到命令模式</li>
</ul>
<p><strong>底线命令模式</strong></p>
<p>在命令模式下按下:（英文冒号）就进入了底线命令模式.</p>
<p>底线命令模式可以输入单个或多个字符的命令,可用的命令非常多.</p>
<p>在底线命令模式中,基本的命令有（已经省略了冒号）:</p>
<ul>
<li>q 退出程序</li>
<li>w 保存文件</li>
</ul>
<p>按ESC键可随时退出底线命令模式.</p>
<p>简单的说,我们可以将这三个模式想成底下的图标来表示:</p>
<p><img src="https://gitee.com/Lummer/image/raw/master/img/20210720180030.png" alt="img"></p>
<h4 id="测试"><a href="#测试" class="headerlink" title="测试"></a>测试</h4><p>如果你想要使用 vi 来建立一个名为 kuangstudy.txt 的文件时,你可以这样做:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen home]# vim kuangstudy.txt</span><br></pre></td></tr></table></figure>

<p>然后就会进入文件</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_png/uJDAUKrGC7L1I72C1HrwJ9bG6XAbVggM4461hqusRbQZ32967zqUhChqXbCzJTN3I20RpiaVbFqWvHicvicc9icBUQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1" alt="图片"></p>
<p><strong>按下 i 进入输入模式(也称为编辑模式),开始编辑文字</strong></p>
<p>在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了.</p>
<p>在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示.</p>
<p>这个时候,键盘上除了 <strong>Esc</strong> 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑.</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_png/uJDAUKrGC7L1I72C1HrwJ9bG6XAbVggMEarICtkr8ia1N6zqcuv3ROj1TBDoMicM5DoYzaGU29qQ2mbQhlBUbbww/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1" alt="图片"></p>
<p><strong>按下 ESC 按钮回到一般模式</strong></p>
<p>好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢？是的.没错.就是给他按下 <strong>Esc</strong> 这个按钮即可.马上你就会发现画面左下角的 – INSERT – 不见了.</p>
<p>在一般模式中按下 <strong>:wq</strong> 储存后离开 vim.</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_png/uJDAUKrGC7L1I72C1HrwJ9bG6XAbVggMeA5EoVUt4j2544oibjdoeRah06s2ALh1QDXwep41Mj4ZnhWyb6icdp0w/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1" alt="图片"></p>
<p>OK! 这样我们就成功创建了一个 kuangstudy.txt 的文件.</p>
<h4 id="Vim-按键说明"><a href="#Vim-按键说明" class="headerlink" title="Vim 按键说明"></a>Vim 按键说明</h4><p>除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用.</p>
<p><strong>第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等</strong></p>
<table>
<thead>
<tr>
<th align="left">移动光标的方法</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td align="left">h 或 向左箭头键(←)</td>
<td>光标向左移动一个字符</td>
</tr>
<tr>
<td align="left">j 或 向下箭头键(↓)</td>
<td>光标向下移动一个字符</td>
</tr>
<tr>
<td align="left">k 或 向上箭头键(↑)</td>
<td>光标向上移动一个字符</td>
</tr>
<tr>
<td align="left">l 或 向右箭头键(→)</td>
<td>光标向右移动一个字符</td>
</tr>
<tr>
<td align="left">[Ctrl] + [f]</td>
<td>屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)</td>
</tr>
<tr>
<td align="left">[Ctrl] + [b]</td>
<td>屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)</td>
</tr>
<tr>
<td align="left">[Ctrl] + [d]</td>
<td>屏幕『向下』移动半页</td>
</tr>
<tr>
<td align="left">[Ctrl] + [u]</td>
<td>屏幕『向上』移动半页</td>
</tr>
<tr>
<td align="left">+</td>
<td>光标移动到非空格符的下一行</td>
</tr>
<tr>
<td align="left">-</td>
<td>光标移动到非空格符的上一行</td>
</tr>
<tr>
<td align="left">n&lt; space&gt;</td>
<td>那个 n 表示『数字』,例如 20 .按下数字后再按空格键,光标会向右移动这一行的 n 个字符.</td>
</tr>
<tr>
<td align="left">0 或功能键[Home]</td>
<td>这是数字『 0 』:移动到这一行的最前面字符处 (常用)</td>
</tr>
<tr>
<td align="left">$ 或功能键[End]</td>
<td>移动到这一行的最后面字符处(常用)</td>
</tr>
<tr>
<td align="left">H</td>
<td>光标移动到这个屏幕的最上方那一行的第一个字符</td>
</tr>
<tr>
<td align="left">M</td>
<td>光标移动到这个屏幕的中央那一行的第一个字符</td>
</tr>
<tr>
<td align="left">L</td>
<td>光标移动到这个屏幕的最下方那一行的第一个字符</td>
</tr>
<tr>
<td align="left">G</td>
<td>移动到这个档案的最后一行(常用)</td>
</tr>
<tr>
<td align="left">nG</td>
<td>n 为数字.移动到这个档案的第 n 行.例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)</td>
</tr>
<tr>
<td align="left">gg</td>
<td>移动到这个档案的第一行,相当于 1G 啊.(常用)</td>
</tr>
<tr>
<td align="left">n&lt; Enter&gt;</td>
<td>n 为数字.光标向下移动 n 行(常用)</td>
</tr>
</tbody></table>
<table>
<thead>
<tr>
<th align="left">搜索替换</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td align="left">/word</td>
<td>向光标之下寻找一个名称为 word 的字符串.例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可.(常用)</td>
</tr>
<tr>
<td align="left">?word</td>
<td>向光标之上寻找一个字符串名称为 word 的字符串.</td>
</tr>
<tr>
<td align="left">n</td>
<td>这个 n 是英文按键.代表重复前一个搜寻的动作.举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串.如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串.</td>
</tr>
<tr>
<td align="left">N</td>
<td>这个 N 是英文按键.与 n 刚好相反,为『反向』进行前一个搜寻动作.例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird .</td>
</tr>
</tbody></table>
<table>
<thead>
<tr>
<th align="left">删除、复制与粘贴</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td align="left">x, X</td>
<td>在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)</td>
</tr>
<tr>
<td align="left">nx</td>
<td>n 为数字,连续向后删除 n 个字符.举例来说,我要连续删除 10 个字符, 『10x』.</td>
</tr>
<tr>
<td align="left">dd</td>
<td>删除游标所在的那一整行(常用)</td>
</tr>
<tr>
<td align="left">ndd</td>
<td>n 为数字.删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)</td>
</tr>
<tr>
<td align="left">d1G</td>
<td>删除光标所在到第一行的所有数据</td>
</tr>
<tr>
<td align="left">dG</td>
<td>删除光标所在到最后一行的所有数据</td>
</tr>
<tr>
<td align="left">d$</td>
<td>删除游标所在处,到该行的最后一个字符</td>
</tr>
<tr>
<td align="left">d0</td>
<td>那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符</td>
</tr>
<tr>
<td align="left">yy</td>
<td>复制游标所在的那一行(常用)</td>
</tr>
<tr>
<td align="left">nyy</td>
<td>n 为数字.复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)</td>
</tr>
<tr>
<td align="left">y1G</td>
<td>复制游标所在行到第一行的所有数据</td>
</tr>
<tr>
<td align="left">yG</td>
<td>复制游标所在行到最后一行的所有数据</td>
</tr>
<tr>
<td align="left">y0</td>
<td>复制光标所在的那个字符到该行行首的所有数据</td>
</tr>
<tr>
<td align="left">y$</td>
<td>复制光标所在的那个字符到该行行尾的所有数据</td>
</tr>
<tr>
<td align="left">p, P</td>
<td>p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行.举例来说,我目前光标在第 20 行,且已经复制了 10 行数据.则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴.但如果是按下 P 呢？那么原本的第 20 行会被推到变成 30 行.(常用)</td>
</tr>
<tr>
<td align="left">J</td>
<td>将光标所在行与下一行的数据结合成同一行</td>
</tr>
<tr>
<td align="left">c</td>
<td>重复删除多个数据,例如向下删除 10 行,[ 10cj ]</td>
</tr>
<tr>
<td align="left">u</td>
<td>复原前一个动作.(常用)</td>
</tr>
<tr>
<td align="left">[Ctrl]+r</td>
<td>重做上一个动作.(常用)</td>
</tr>
</tbody></table>
<p><strong>第二部分:一般模式切换到编辑模式的可用的按钮说明</strong></p>
<table>
<thead>
<tr>
<th align="left">进入输入或取代的编辑模式</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td align="left">i, I</td>
<td>进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』.(常用)</td>
</tr>
<tr>
<td align="left">a, A</td>
<td>进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』.(常用)</td>
</tr>
<tr>
<td align="left">o, O</td>
<td>进入输入模式(Insert mode):这是英文字母 o 的大小写.o 为『在目前光标所在的下一行处输入新的一行』;O 为在目前光标所在处的上一行输入新的一行.(常用)</td>
</tr>
<tr>
<td align="left">r, R</td>
<td>进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)</td>
</tr>
<tr>
<td align="left">[Esc]</td>
<td>退出编辑模式,回到一般模式中(常用)</td>
</tr>
</tbody></table>
<p><strong>第三部分:一般模式切换到指令行模式的可用的按钮说明</strong></p>
<table>
<thead>
<tr>
<th align="left">指令行的储存、离开等指令</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td align="left">:w</td>
<td>将编辑的数据写入硬盘档案中(常用)</td>
</tr>
<tr>
<td align="left">:w!</td>
<td>若文件属性为『只读』时,强制写入该档案.不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊.</td>
</tr>
<tr>
<td align="left">:q</td>
<td>离开 vi (常用)</td>
</tr>
<tr>
<td align="left">:q!</td>
<td>若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案.</td>
</tr>
<tr>
<td align="left">注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思～</td>
<td></td>
</tr>
<tr>
<td align="left">:wq</td>
<td>储存后离开,若为 :wq! 则为强制储存后离开 (常用)</td>
</tr>
<tr>
<td align="left">ZZ</td>
<td>这是大写的 Z 喔.若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开.</td>
</tr>
<tr>
<td align="left">:w [filename]</td>
<td>将编辑的数据储存成另一个档案（类似另存新档）</td>
</tr>
<tr>
<td align="left">:r [filename]</td>
<td>在编辑的数据中,读入另一个档案的数据.亦即将 『filename』 这个档案内容加到游标所在行后面</td>
</tr>
<tr>
<td align="left">:n1,n2 w [filename]</td>
<td>将 n1 到 n2 的内容储存成 filename 这个档案.</td>
</tr>
<tr>
<td align="left">:! command</td>
<td>暂时离开 vi 到指令行模式下执行 command 的显示结果.例如 『:! ls /home』即可在 vi 当中看 /home 底下以 ls 输出的档案信息.</td>
</tr>
<tr>
<td align="left">:set nu</td>
<td>显示行号,设定之后,会在每一行的前缀显示该行的行号</td>
</tr>
<tr>
<td align="left">:set nonu</td>
<td>与 set nu 相反,为取消行号.</td>
</tr>
</tbody></table>
<h3 id="账号管理"><a href="#账号管理" class="headerlink" title="账号管理"></a>账号管理</h3><h4 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h4><p>Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.</p>
<p>用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护.</p>
<p>每个用户账号都拥有一个唯一的用户名和各自的口令.</p>
<p>用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录.</p>
<p>实现用户账号的管理,要完成的工作主要有如下几个方面:</p>
<ul>
<li>用户账号的添加、删除与修改.</li>
<li>用户口令的管理.</li>
<li>用户组的管理.</li>
</ul>
<h4 id="用户账号的管理"><a href="#用户账号的管理" class="headerlink" title="用户账号的管理"></a>用户账号的管理</h4><p>用户账号的管理工作主要涉及到用户账号的添加、修改和删除.</p>
<p>添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源.</p>
<h4 id="添加账号-useradd"><a href="#添加账号-useradd" class="headerlink" title="添加账号 useradd"></a>添加账号 useradd</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">useradd 选项 用户名</span><br></pre></td></tr></table></figure>

<p>参数说明:</p>
<ul>
<li><p>选项 :</p>
</li>
<li><ul>
<li>-c comment 指定一段注释性描述.<ul>
<li>-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录.</li>
<li>-g 用户组 指定用户所属的用户组.</li>
<li>-G 用户组,用户组 指定用户所属的附加组.</li>
<li>-m　使用者目录如不存在则自动建立.</li>
<li>-s Shell文件 指定用户的登录Shell.</li>
<li>-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号.</li>
</ul>
</li>
</ul>
</li>
<li><p>用户名 :</p>
</li>
<li><ul>
<li>指定新账号的登录名.</li>
</ul>
</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 此命令创建了一个用户kuangshen,其中-m选项用来为登录名kuangshen产生一个主目录 /home/kuangshen</span></span><br><span class="line">[root@kuangshen home]# useradd -m kuangshen</span><br></pre></td></tr></table></figure>

<p>增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等.</p>
<h4 id="Linux下如何切换用户"><a href="#Linux下如何切换用户" class="headerlink" title="Linux下如何切换用户"></a>Linux下如何切换用户</h4><p>1.切换用户的命令为:su username 【username是你的用户名哦】</p>
<p>2.从普通用户切换到root用户,还可以使用命令:sudo su</p>
<p>3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令</p>
<p>4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】</p>
<p>$表示普通用户</p>
<p>#表示超级用户,也就是root用户</p>
<h4 id="删除帐号"><a href="#删除帐号" class="headerlink" title="删除帐号"></a>删除帐号</h4><p>如果一个用户的账号不再使用,可以从系统中删除.</p>
<p>删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录.</p>
<p>删除一个已有的用户账号使用userdel命令,其格式如下:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">userdel 选项 用户名</span><br></pre></td></tr></table></figure>

<p>常用的选项是 <strong>-r</strong>,它的作用是把用户的主目录一起删除.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen home]# userdel -r kuangshen</span><br></pre></td></tr></table></figure>

<p>此命令删除用户kuangshen在系统文件中（主要是/etc/passwd, /etc/shadow, /etc/group等）的记录,同时删除用户的主目录.</p>
<h4 id="修改帐号"><a href="#修改帐号" class="headerlink" title="修改帐号"></a>修改帐号</h4><p>修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等.</p>
<p>修改已有用户的信息使用usermod命令,其格式如下:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">usermod 选项 用户名</span><br></pre></td></tr></table></figure>

<p>常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值.</p>
<p>例如:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> usermod -s /bin/ksh -d /home/z –g developer kuangshen</span></span><br></pre></td></tr></table></figure>

<p>此命令将用户kuangshen的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer.</p>
<h4 id="用户口令的管理"><a href="#用户口令的管理" class="headerlink" title="用户口令的管理"></a>用户口令的管理</h4><p>用户管理的一项重要内容是用户口令的管理.用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令.</p>
<p>指定和修改用户口令的Shell命令是passwd.超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令.</p>
<p>命令的格式为:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">passwd 选项 用户名</span><br></pre></td></tr></table></figure>

<p>可使用的选项:</p>
<ul>
<li>-l 锁定口令,即禁用账号.</li>
<li>-u 口令解锁.</li>
<li>-d 使账号无口令.</li>
<li>-f 强迫用户下次登录时修改口令.</li>
</ul>
<p>如果默认用户名,则修改当前用户的口令.</p>
<p>例如,假设当前用户是kuangshen,则下面的命令修改该用户自己的口令:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">$</span><span class="bash"> passwd</span> </span><br><span class="line">Old password:******</span><br><span class="line">New password:*******</span><br><span class="line">Re-enter new password:*******</span><br></pre></td></tr></table></figure>

<p>如果是超级用户,可以用下列形式指定任何用户的口令:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> passwd kuangshen</span></span><br><span class="line">New password:*******</span><br><span class="line">Re-enter new password:*******</span><br></pre></td></tr></table></figure>

<p>普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令.</p>
<p>为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同.</p>
<p>为用户指定空口令时,执行下列形式的命令:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> passwd -d kuangshen</span></span><br></pre></td></tr></table></figure>

<p>此命令将用户 kuangshen的口令删除,这样用户 kuangshen下一次登录时,系统就不再允许该用户登录了.</p>
<p>passwd 命令还可以用 -l(lock) 选项锁定某一用户,使其不能登录,例如:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> passwd -l kuangshen</span></span><br></pre></td></tr></table></figure>

<h3 id="用户组管理"><a href="#用户组管理" class="headerlink" title="用户组管理"></a>用户组管理</h3><p>每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理.不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建.</p>
<p>用户组的管理涉及用户组的添加、删除和修改.组的增加、删除和修改实际上就是对/etc/group文件的更新.</p>
<h4 id="增加一个新的用户组使用groupadd命令"><a href="#增加一个新的用户组使用groupadd命令" class="headerlink" title="增加一个新的用户组使用groupadd命令"></a>增加一个新的用户组使用groupadd命令</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">groupadd 选项 用户组</span><br></pre></td></tr></table></figure>

<p>可以使用的选项有:</p>
<ul>
<li>-g GID 指定新用户组的组标识号（GID）.</li>
<li>-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同.</li>
</ul>
<p>实例1:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> groupadd group1</span></span><br></pre></td></tr></table></figure>

<p>此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1.</p>
<p>实例2:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> groupadd -g 101 group2</span></span><br></pre></td></tr></table></figure>

<p>此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101.</p>
<h4 id="如果要删除一个已有的用户组-使用groupdel命令"><a href="#如果要删除一个已有的用户组-使用groupdel命令" class="headerlink" title="如果要删除一个已有的用户组,使用groupdel命令"></a>如果要删除一个已有的用户组,使用groupdel命令</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">groupdel 用户组</span><br></pre></td></tr></table></figure>

<p>例如:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> groupdel group1</span></span><br></pre></td></tr></table></figure>

<p>此命令从系统中删除组group1.</p>
<h4 id="修改用户组的属性使用groupmod命令"><a href="#修改用户组的属性使用groupmod命令" class="headerlink" title="修改用户组的属性使用groupmod命令"></a>修改用户组的属性使用groupmod命令</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">groupmod 选项 用户组</span><br></pre></td></tr></table></figure>

<p>常用的选项有:</p>
<ul>
<li>-g GID 为用户组指定新的组标识号.</li>
<li>-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同.</li>
<li>-n新用户组 将用户组的名字改为新名字</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 此命令将组group2的组标识号修改为102.</span></span><br><span class="line">groupmod -g 102 group2</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 将组group2的标识号改为10000,组名修改为group3.</span></span><br><span class="line">groupmod –g 10000 -n group3 group2</span><br></pre></td></tr></table></figure>

<h4 id="切换组"><a href="#切换组" class="headerlink" title="切换组"></a>切换组</h4><p>如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限.</p>
<p>用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组.例如:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">$</span><span class="bash"> newgrp root</span></span><br></pre></td></tr></table></figure>

<p>这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组.</p>
<h4 id="etc-passwd"><a href="#etc-passwd" class="headerlink" title="/etc/passwd"></a>/etc/passwd</h4><p>完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改.</p>
<p>与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等.</p>
<p>下面分别介绍这些文件的内容.</p>
<p><strong>/etc/passwd文件是用户管理工作涉及的最重要的一个文件.</strong></p>
<p>Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性.</p>
<p>这个文件对所有用户都是可读的.它的内容类似下面的例子:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">＃ cat /etc/passwd</span><br><span class="line"></span><br><span class="line">root:x:0:0:Superuser:/:</span><br><span class="line">daemon:x:1:1:System daemons:/etc:</span><br><span class="line">bin:x:2:2:Owner of system commands:/bin:</span><br><span class="line">sys:x:3:3:Owner of system files:/usr/sys:</span><br><span class="line">adm:x:4:4:System accounting:/usr/adm:</span><br><span class="line">uucp:x:5:5:UUCP administrator:/usr/lib/uucp:</span><br><span class="line">auth:x:7:21:Authentication administrator:/tcb/files/auth:</span><br><span class="line">cron:x:9:16:Cron daemon:/usr/spool/cron:</span><br><span class="line">listen:x:37:4:Network daemon:/usr/net/nls:</span><br><span class="line">lp:x:71:18:Printer administrator:/usr/spool/lp:</span><br></pre></td></tr></table></figure>

<p>从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell</span><br></pre></td></tr></table></figure>

<p>1）”用户名”是代表用户账号的字符串.</p>
<p>通常长度不超过8个字符,并且由大小写字母和/或数字组成.登录名中不能有冒号(:),因为冒号在这里是分隔符.</p>
<p>为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头.</p>
<p>2）“口令”一些系统中,存放着加密后的用户口令字.</p>
<p>虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患.因此,现在许多Linux 系统（如SVR4）都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”.</p>
<p>3）“用户标识号”是一个整数,系统内部用它来标识用户.</p>
<p>一般情况下它与用户名是一一对应的.如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等.</p>
<p>通常用户标识号的取值范围是0～65 535.0是超级用户root的标识号,1～99由系统保留,作为管理账号,普通用户的标识号从100开始.在Linux系统中,这个界限是500.</p>
<p>4）“组标识号”字段记录的是用户所属的用户组.</p>
<p>它对应着/etc/group文件中的一条记录.</p>
<p>5)“注释性描述”字段记录着用户的一些个人情况.</p>
<p>例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途.在不同的Linux 系统中,这个字段的格式并没有统一.在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用作finger命令的输出.</p>
<p>6)“主目录”,也就是用户的起始工作目录.</p>
<p>它是用户在登录到系统之后所处的目录.在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名.各用户对自己的主目录有读、写、执行（搜索）权限,其他用户对此目录的访问权限则根据具体情况设置.</p>
<p>7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell.</p>
<p>Shell是用户与Linux系统之间的接口.Linux的Shell有许多种,每种都有不同的特点.常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等.</p>
<p>系统管理员可以根据系统情况和用户习惯为用户指定某个Shell.如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh.</p>
<p>用户的登录Shell也可以指定为某个特定的程序（此程序不是一个命令解释器）.</p>
<p>利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统.有些Linux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中.</p>
<p>8)系统中有一类用户称为伪用户（pseudo users）.</p>
<p>这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空.它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求.</p>
<p>常见的伪用户如下所示:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">伪 用 户 含 义</span><br><span class="line">bin 拥有可执行的用户命令文件</span><br><span class="line">sys 拥有系统文件</span><br><span class="line">adm 拥有帐户文件</span><br><span class="line">uucp UUCP使用</span><br><span class="line">lp lp或lpd子系统使用</span><br><span class="line">nobody NFS使用</span><br></pre></td></tr></table></figure>

<h4 id="etc-shadow"><a href="#etc-shadow" class="headerlink" title="/etc/shadow"></a>/etc/shadow</h4><p><strong>1、除了上面列出的伪用户外,还有许多标准的伪用户,例如:audit, cron, mail, usenet等,它们也都各自为相关的进程和文件所需要.</strong></p>
<p>由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件.有超级用户才拥有该文件读权限,这就保证了用户密码的安全性.</p>
<p><strong>2、/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生</strong></p>
<p>它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用”:”隔开.这些字段是:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志</span><br></pre></td></tr></table></figure>

<ol>
<li>“登录名”是与/etc/passwd文件中的登录名相一致的用户账号</li>
<li>“口令”字段存放的是加密后的用户口令字,长度为13个字符.如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录.</li>
<li>“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数.时间起点对不同的系统可能不一样.例如在SCO Linux 中,这个时间起点是1970年1月1日.</li>
<li>“最小时间间隔”指的是两次修改口令之间所需的最小天数.</li>
<li>“最大时间间隔”指的是口令保持有效的最大天数.</li>
<li>“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数.</li>
<li>“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数.</li>
<li>“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期.期满后,该账号就不再是一个合法的账号,也就不能再用来登录了.</li>
</ol>
<h4 id="etc-group"><a href="#etc-group" class="headerlink" title="/etc/group"></a>/etc/group</h4><p>用户组的所有信息都存放在/etc/group文件中.</p>
<p>将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段.</p>
<p>每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组.</p>
<p>当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组.</p>
<p>用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员.</p>
<p>用户组的所有信息都存放在/etc/group文件中.此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">组名:口令:组标识号:组内用户列表</span><br></pre></td></tr></table></figure>

<ol>
<li>“组名”是用户组的名称,由字母或数字构成.与/etc/passwd中的登录名一样,组名不应重复.</li>
<li>“口令”字段存放的是用户组加密后的口令字.一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*.</li>
<li>“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组.</li>
<li>“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔.这个用户组可能是用户的主组,也可能是附加组.</li>
</ol>
<h3 id="磁盘管理"><a href="#磁盘管理" class="headerlink" title="磁盘管理"></a>磁盘管理</h3><h4 id="概述-1"><a href="#概述-1" class="headerlink" title="概述"></a>概述</h4><p>Linux磁盘管理好坏直接关系到整个系统的性能问题.</p>
<p>Linux磁盘管理常用命令为 df、du.</p>
<ul>
<li>df :列出文件系统的整体磁盘使用量</li>
<li>du:检查磁盘空间使用量</li>
</ul>
<h4 id="df"><a href="#df" class="headerlink" title="df"></a>df</h4><p>df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息.</p>
<p>语法:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">df [-ahikHTm] [目录或文件名]</span><br></pre></td></tr></table></figure>

<p>选项与参数:</p>
<ul>
<li>-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;</li>
<li>-k :以 KBytes 的容量显示各文件系统;</li>
<li>-m :以 MBytes 的容量显示各文件系统;</li>
<li>-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;</li>
<li>-H :以 M=1000K 取代 M=1024K 的进位方式;</li>
<li>-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;</li>
<li>-i :不用硬盘容量,而以 inode 的数量来显示</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 将系统内所有的文件系统列出来.</span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 在 Linux 底下如果 df 没有加任何选项</span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来.</span></span><br><span class="line">[root@kuangshen /]# df</span><br><span class="line">Filesystem     1K-blocks   Used Available Use% Mounted on</span><br><span class="line">devtmpfs          889100       0    889100   0% /dev</span><br><span class="line">tmpfs             899460     704    898756   1% /dev/shm</span><br><span class="line">tmpfs             899460     496    898964   1% /run</span><br><span class="line">tmpfs             899460       0    899460   0% /sys/fs/cgroup</span><br><span class="line">/dev/vda1       41152812 6586736  32662368  17% /</span><br><span class="line">tmpfs             179896       0    179896   0% /run/user/0</span><br><span class="line"><span class="meta">#</span><span class="bash"> 将容量结果以易读的容量格式显示出来</span></span><br><span class="line">[root@kuangshen /]# df -h</span><br><span class="line">Filesystem     Size Used Avail Use% Mounted on</span><br><span class="line">devtmpfs       869M     0 869M   0% /dev</span><br><span class="line">tmpfs           879M 708K 878M   1% /dev/shm</span><br><span class="line">tmpfs           879M 496K 878M   1% /run</span><br><span class="line">tmpfs           879M     0 879M   0% /sys/fs/cgroup</span><br><span class="line">/dev/vda1       40G  6.3G   32G  17% /</span><br><span class="line">tmpfs           176M     0 176M   0% /run/user/0</span><br><span class="line"><span class="meta">#</span><span class="bash"> 将系统内的所有特殊文件格式及名称都列出来</span></span><br><span class="line">[root@kuangshen /]# df -aT</span><br><span class="line">Filesystem     Type       1K-blocks   Used Available Use% Mounted on</span><br><span class="line">sysfs         sysfs               0       0         0    - /sys</span><br><span class="line">proc           proc                0       0         0    - /proc</span><br><span class="line">devtmpfs       devtmpfs       889100       0    889100   0% /dev</span><br><span class="line">securityfs     securityfs          0       0         0    - /sys/kernel/security</span><br><span class="line">tmpfs         tmpfs          899460     708    898752   1% /dev/shm</span><br><span class="line">devpts         devpts              0       0         0    - /dev/pts</span><br><span class="line">tmpfs         tmpfs          899460     496    898964   1% /run</span><br><span class="line">tmpfs         tmpfs          899460       0    899460   0% /sys/fs/cgroup</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/systemd</span><br><span class="line">pstore         pstore              0       0         0    - /sys/fs/pstore</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/freezer</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/cpuset</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/hugetlb</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/blkio</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/net_cls,net_prio</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/memory</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/pids</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/cpu,cpuacct</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/devices</span><br><span class="line">cgroup         cgroup              0       0         0    - /sys/fs/cgroup/perf_event</span><br><span class="line">configfs       configfs            0       0         0    - /sys/kernel/config</span><br><span class="line">/dev/vda1     ext4         41152812 6586748  32662356  17% /</span><br><span class="line">systemd-1      -                   -       -         -    - /proc/sys/fs/binfmt_misc</span><br><span class="line">mqueue         mqueue              0       0         0    - /dev/mqueue</span><br><span class="line">debugfs       debugfs             0       0         0    - /sys/kernel/debug</span><br><span class="line">hugetlbfs     hugetlbfs           0       0         0    - /dev/hugepages</span><br><span class="line">tmpfs         tmpfs          179896       0    179896   0% /run/user/0</span><br><span class="line">binfmt_misc   binfmt_misc         0       0         0    - /proc/sys/fs/binfmt_misc</span><br><span class="line"><span class="meta">#</span><span class="bash"> 将 /etc 底下的可用的磁盘容量以易读的容量格式显示</span></span><br><span class="line"></span><br><span class="line">[root@kuangshen /]# df -h /etc</span><br><span class="line">Filesystem     Size Used Avail Use% Mounted on</span><br><span class="line">/dev/vda1       40G  6.3G   32G  17% /</span><br></pre></td></tr></table></figure>

<h4 id="du"><a href="#du" class="headerlink" title="du"></a>du</h4><p>Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令.</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 语法</span></span><br><span class="line">du [-ahskm] 文件或目录名称</span><br></pre></td></tr></table></figure>

<p>选项与参数:</p>
<ul>
<li>-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已.</li>
<li>-h :以人们较易读的容量格式 (G/M) 显示;</li>
<li>-s :列出总量而已,而不列出每个各别的目录占用容量;</li>
<li>-S :不包括子目录下的总计,与 -s 有点差别.</li>
<li>-k :以 KBytes 列出容量显示;</li>
<li>-m :以 MBytes 列出容量显示;</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 只列出当前目录下的所有文件夹容量（包括隐藏文件夹）:</span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间.</span></span><br><span class="line">[root@kuangshen home]# du</span><br><span class="line">16./redis</span><br><span class="line">8./www/.oracle_jre_usage  # 包括隐藏文件的目录</span><br><span class="line">24./www</span><br><span class="line">48.                        # 这个目录(.)所占用的总量</span><br><span class="line"><span class="meta">#</span><span class="bash"> 将文件的容量也列出来</span></span><br><span class="line">[root@kuangshen home]# du -a</span><br><span class="line">4./redis/.bash_profile</span><br><span class="line">4./redis/.bash_logout    </span><br><span class="line">....中间省略....</span><br><span class="line">4./kuangstudy.txt # 有文件的列表了</span><br><span class="line">48.</span><br><span class="line"><span class="meta">#</span><span class="bash"> 检查根目录底下每个目录所占用的容量</span></span><br><span class="line">[root@kuangshen home]# du -sm /*</span><br><span class="line">0/bin</span><br><span class="line">146/boot</span><br><span class="line">.....中间省略....</span><br><span class="line">0/proc</span><br><span class="line">.....中间省略....</span><br><span class="line">1/tmp</span><br><span class="line">3026/usr  # 系统初期最大就是他了啦.</span><br><span class="line">513/var</span><br><span class="line">2666/www</span><br></pre></td></tr></table></figure>

<p>通配符 * 来代表每个目录.</p>
<p>与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据.</p>
<h4 id="磁盘挂载与卸除"><a href="#磁盘挂载与卸除" class="headerlink" title="磁盘挂载与卸除"></a>磁盘挂载与卸除</h4><p>根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”</p>
<p>Linux 的磁盘挂载使用mount命令,卸载使用umount命令.</p>
<p>磁盘挂载语法:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点</span><br></pre></td></tr></table></figure>

<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 将 /dev/hdc6 挂载到 /mnt/hdc6 上面.</span></span><br><span class="line">[root@www ~]# mkdir /mnt/hdc6</span><br><span class="line">[root@www ~]# mount /dev/hdc6 /mnt/hdc6</span><br><span class="line">[root@www ~]# df</span><br><span class="line">Filesystem           1K-blocks     Used Available Use% Mounted on</span><br><span class="line">/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6</span><br></pre></td></tr></table></figure>

<p>磁盘卸载命令 umount 语法:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">umount [-fn] 装置文件名或挂载点</span><br></pre></td></tr></table></figure>

<p>选项与参数:</p>
<ul>
<li>-f :强制卸除.可用在类似网络文件系统 (NFS) 无法读取到的情况下;</li>
<li>-n :不升级 /etc/mtab 情况下卸除.</li>
</ul>
<p>卸载/dev/hdc6</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[root@www ~]# umount /dev/hdc6</span><br></pre></td></tr></table></figure>

<h3 id="进程管理"><a href="#进程管理" class="headerlink" title="进程管理"></a>进程管理</h3><h4 id="基本概念"><a href="#基本概念" class="headerlink" title="基本概念"></a>基本概念</h4><ol>
<li>在Linux中, 每一个程序都有自己的一个进程, 每个进程都有一个id号</li>
<li>每个进程, 都会有一个父进程</li>
<li>进程有两种存在方式: 前台、后台</li>
<li>一般服务在后台运行, 基本的程序都是前台进行</li>
</ol>
<h4 id="命令"><a href="#命令" class="headerlink" title="命令"></a>命令</h4><h5 id="查看端口号"><a href="#查看端口号" class="headerlink" title="查看端口号"></a>查看端口号</h5><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">lsof -i tcp:8888</span><br></pre></td></tr></table></figure>

<h5 id="查看进程"><a href="#查看进程" class="headerlink" title="查看进程"></a>查看进程</h5><p>==ps== 查看当前系统中正在执行的各种进程的信息</p>
<p>ps -xx:</p>
<ul>
<li>-a 显示当前终端运行的所有的进程信息</li>
<li>-u 以用户的信息显示进程</li>
<li>-x 显示后台运行进程的参数</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># ps -aux 查看所有的进程</span></span><br><span class="line">ps -aux|</span><br><span class="line"></span><br><span class="line"><span class="comment"># | 在Linux中叫做管道符	A|B</span></span><br><span class="line"><span class="comment"># grep 查找文件中符合条件的字符串</span></span><br><span class="line">ps -aux|grep mysql</span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看父进程的信息</span></span><br><span class="line">ps -ef</span><br><span class="line">ps -ef|grep mysql	</span><br><span class="line"></span><br><span class="line"><span class="comment"># 看父进程一般通过目录树结构进行查看</span></span><br><span class="line">pstree -pu </span><br><span class="line">		-p 显示父id</span><br><span class="line">		-u 显示用户组</span><br></pre></td></tr></table></figure>

<h5 id="结束进程"><a href="#结束进程" class="headerlink" title="结束进程"></a>结束进程</h5><p>杀掉进程, 等价于Windows结束任务</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 表示强制结束该进程</span></span><br><span class="line"><span class="built_in">kill</span> -9 进程id</span><br></pre></td></tr></table></figure>

<h3 id="三种软件安装方式及服务器基本环境搭建"><a href="#三种软件安装方式及服务器基本环境搭建" class="headerlink" title="三种软件安装方式及服务器基本环境搭建"></a>三种软件安装方式及服务器基本环境搭建</h3><h4 id="jdk安装-rpm安装"><a href="#jdk安装-rpm安装" class="headerlink" title="jdk安装(rpm安装)"></a>jdk安装(rpm安装)</h4><ol>
<li><p>rpm下载地址<a target="_blank" rel="noopener" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></p>
</li>
<li><p>如果有安装openjdk 则卸载</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen ~]# java -version</span><br><span class="line">java version &quot;1.8.0_121&quot;</span><br><span class="line">Java(TM) SE Runtime Environment (build 1.8.0_121-b13)</span><br><span class="line">Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)</span><br><span class="line"><span class="meta">#</span><span class="bash"> 检查</span></span><br><span class="line">[root@kuangshen ~]# rpm -qa|grep jdk</span><br><span class="line">jdk1.8.0_121-1.8.0_121-fcs.x86_64</span><br><span class="line"><span class="meta">#</span><span class="bash"> 卸载 -e --nodeps 强制删除</span></span><br><span class="line">[root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64</span><br><span class="line">[root@kuangshen ~]# java -version</span><br><span class="line">-bash: /usr/bin/java: No such file or directory  # OK</span><br></pre></td></tr></table></figure></li>
<li><p>安装JDK</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 安装java rpm</span></span><br><span class="line">[root@kuangshen kuangshen]# rpm -ivh jdk-8u221-linux-x64.rpm</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 安装完成后配置环境变量 文件:/etc/profile</span></span><br><span class="line">JAVA_HOME=/usr/java/jdk1.8.0_221-amd64</span><br><span class="line">CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib</span><br><span class="line">PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin</span><br><span class="line">export PATH CLASSPATH JAVA_HOME</span><br><span class="line"><span class="meta">#</span><span class="bash"> 保存退出</span></span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 让新增的环境变量生效.</span></span><br><span class="line">source /etc/profile</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 测试 java -version</span></span><br><span class="line">[root@kuangshen java]# java -version</span><br><span class="line">java version &quot;1.8.0_221&quot;</span><br><span class="line">Java(TM) SE Runtime Environment (build 1.8.0_221-b11)</span><br><span class="line">Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)</span><br></pre></td></tr></table></figure></li>
</ol>
<h4 id="Tomcat安装-解压缩安装"><a href="#Tomcat安装-解压缩安装" class="headerlink" title="Tomcat安装(解压缩安装)"></a>Tomcat安装(解压缩安装)</h4><ol>
<li><p>安装好了Java环境后我们可以测试下Tomcat.准备好Tomcat的安装包.</p>
</li>
<li><p>将文件移动到/usr/tomcat/下,并解压.</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">[root@kuangshen kuangshen]# mv apache-tomcat-9.0.22.tar.gz /usr</span><br><span class="line">[root@kuangshen kuangshen]# cd /usr</span><br><span class="line">[root@kuangshen usr]# ls</span><br><span class="line">apache-tomcat-9.0.22.tar.gz</span><br><span class="line">[root@kuangshen usr]# tar -zxvf apache-tomcat-9.0.22.tar.gz   # 解压</span><br></pre></td></tr></table></figure></li>
<li><p>运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 执行:startup.sh --&gt;启动tomcat</span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 执行:shutdown.sh --&gt;关闭tomcat</span></span><br><span class="line">./startup.sh</span><br><span class="line">./shutdown.sh</span><br></pre></td></tr></table></figure></li>
<li><p>确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的.</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 查看firewall服务状态</span></span><br><span class="line">systemctl status firewalld</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 开启、重启、关闭、firewalld.service服务</span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 开启</span></span><br><span class="line">service firewalld start</span><br><span class="line"><span class="meta">#</span><span class="bash"> 重启</span></span><br><span class="line">service firewalld restart</span><br><span class="line"><span class="meta">#</span><span class="bash"> 关闭</span></span><br><span class="line">service firewalld stop</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 查看防火墙规则</span></span><br><span class="line">firewall-cmd --list-all    # 查看全部信息</span><br><span class="line">firewall-cmd --list-ports  # 只看端口信息</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 开启端口</span></span><br><span class="line">开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent</span><br><span class="line">重启防火墙:systemctl restart firewalld.service</span><br><span class="line"></span><br><span class="line">命令含义:</span><br><span class="line">--zone #作用域</span><br><span class="line">--add-port=80/tcp  #添加端口,格式为:端口/通讯协议</span><br><span class="line">--permanent   #永久生效,没有此参数重启后失效</span><br></pre></td></tr></table></figure></li>
</ol>
<h4 id="安装Docker-yum安装"><a href="#安装Docker-yum安装" class="headerlink" title="安装Docker(yum安装)"></a>安装Docker(yum安装)</h4><blockquote>
<p>基于 CentOS 7 安装</p>
</blockquote>
<ol>
<li><p>官网安装参考手册:<a target="_blank" rel="noopener" href="https://docs.docker.com/install/linux/docker-ce/centos/">https://docs.docker.com/install/linux/docker-ce/centos/</a></p>
</li>
<li><p>确定你是CentOS7及以上版本</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[root@192 Desktop]# cat /etc/redhat-release</span><br><span class="line">CentOS Linux release 7.2.1511 (Core)</span><br></pre></td></tr></table></figure></li>
<li><p>yum安装gcc相关（需要确保 虚拟机可以上外网 ）</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">yum -y install gcc</span><br><span class="line">yum -y install gcc-c++</span><br></pre></td></tr></table></figure></li>
<li><p>卸载旧版本</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">yum -y remove docker docker-common docker-selinux docker-engine</span><br><span class="line"><span class="meta">#</span><span class="bash"> 官网版本</span></span><br><span class="line">yum remove docker \</span><br><span class="line">          docker-client \</span><br><span class="line">          docker-client-latest \</span><br><span class="line">          docker-common \</span><br><span class="line">          docker-latest \</span><br><span class="line">          docker-latest-logrotate \</span><br><span class="line">          docker-logrotate \</span><br><span class="line">          docker-engine</span><br></pre></td></tr></table></figure></li>
<li><p>安装需要的软件包</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install -y yum-utils device-mapper-persistent-data lvm2</span><br></pre></td></tr></table></figure></li>
<li><p>设置stable镜像仓库</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 错误</span></span><br><span class="line">yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo</span><br><span class="line"><span class="meta">#</span><span class="bash"><span class="comment"># 报错</span></span></span><br><span class="line">[Errno 14] curl#35 - TCP connection reset by peer</span><br><span class="line">[Errno 12] curl#35 - Timeout</span><br><span class="line"><span class="meta"></span></span><br><span class="line"><span class="meta">#</span><span class="bash"> 正确推荐使用国内的</span></span><br><span class="line">yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo</span><br></pre></td></tr></table></figure></li>
<li><p>更新yum软件包索引</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum makecache fast</span><br></pre></td></tr></table></figure></li>
<li><p>安装Docker CE</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum -y install docker-ce docker-ce-cli containerd.io</span><br></pre></td></tr></table></figure></li>
<li><p>启动docker</p>
 <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl start docker</span><br></pre></td></tr></table></figure></li>
<li><p>测试</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">docker version</span><br><span class="line"></span><br><span class="line">docker run hello-world</span><br><span class="line"></span><br><span class="line">docker images</span><br></pre></td></tr></table></figure></li>
</ol>
<h4 id="宝塔面板安装"><a href="#宝塔面板安装" class="headerlink" title="宝塔面板安装"></a>宝塔面板安装</h4><p><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/av91821322">https://www.bilibili.com/video/av91821322</a></p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/03/03/Linux/" data-id="cktshq5ai000bdu9l1qwx07ah" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Mac安装Redis，原来就是这么简单" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/03/02/Mac%E5%AE%89%E8%A3%85Redis%EF%BC%8C%E5%8E%9F%E6%9D%A5%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B9%88%E7%AE%80%E5%8D%95/" class="article-date">
  <time datetime="2021-03-02T03:22:33.099Z" itemprop="datePublished">2021-03-02</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/03/02/Mac%E5%AE%89%E8%A3%85Redis%EF%BC%8C%E5%8E%9F%E6%9D%A5%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B9%88%E7%AE%80%E5%8D%95/">使用Homebrew安装Redis</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h3 id="使用Homebrew安装Redis"><a href="#使用Homebrew安装Redis" class="headerlink" title="使用Homebrew安装Redis"></a>使用Homebrew安装Redis</h3><p>1、没有安装Homebrew，首先安装npm国内的吧，快一些。</p>
<p>打开终端输入以下命令：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/bin/zsh -c &quot;$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)&quot;</span><br></pre></td></tr></table></figure>

<p>2、使用Homebrew安装命令</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">brew install redis</span><br></pre></td></tr></table></figure>


<p>执行上述命令后出现以下，则成功安装：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">==&gt; Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/redis-6.0.1</span><br><span class="line"><span class="meta">#</span><span class="bash"><span class="comment">####################################################################### 100.0%</span></span></span><br><span class="line">==&gt; Pouring redis-6.0.1.mojave.bottle.tar.gz</span><br><span class="line">==&gt; Caveats</span><br><span class="line">To have launchd start redis now and restart at login:</span><br><span class="line">  brew services start redis</span><br><span class="line">Or, if you don&#x27;t want/need a background service you can just run:</span><br><span class="line">  redis-server /usr/local/etc/redis.conf</span><br><span class="line">==&gt; Summary</span><br><span class="line">🍺  /usr/local/Cellar/redis/6.0.1: 13 files, 3.7MB</span><br></pre></td></tr></table></figure>

<p>3、 查看安装及配置文件位置</p>
<ul>
<li><p>Homebrew安装的软件会默认在<code>/usr/local/Cellar/</code>路径下</p>
</li>
<li><p>redis的配置文件redis.conf存放在<code>/usr/local/etc</code>路径下</p>
</li>
</ul>
<p>4、启动redis服务</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">// 方式一：使用brew帮助我们启动软件</span><br><span class="line">brew services start redis</span><br><span class="line">// 方式二</span><br><span class="line">redis-server /usr/local/etc/redis.conf1</span><br><span class="line">// 运行redis, 执行以下命令</span><br><span class="line">redis-server</span><br></pre></td></tr></table></figure>

<p><img src="https://cdn.jsdelivr.net/gh/Lummer-Li/image-bucket/image/20210302113743.png" alt="img"></p>
<p>5、查看redis服务进程</p>
<p>我们可以通过下面命令查看redis是否正在运行</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps axu | grep redis</span><br></pre></td></tr></table></figure>

<p>6、redis-cli连接redis服务</p>
<p>redis默认端口号<strong>6379</strong>，默认<strong>auth</strong>为空，输入以下命令即可连接</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">redis-cli -h 127.0.0.1 -p 6379</span><br></pre></td></tr></table></figure>

<p>7、启动 redis 客户端，打开终端并输入命令 <strong>redis-cli</strong>。该命令会连接本地的 redis 服务。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">$</span><span class="bash">redis-cli</span></span><br><span class="line">redis 127.0.0.1:6379&gt;</span><br><span class="line">redis 127.0.0.1:6379&gt; PING</span><br><span class="line">PONG</span><br></pre></td></tr></table></figure>

<p><code>在以上实例中我们连接到本地的 redis 服务并执行 PING 命令，该命令用于检测 redis 服务是否启动。</code></p>
<p>8、关闭redis服务</p>
<ul>
<li>正确停止Redis的方式应该是向Redis发送<strong>SHUTDOWN</strong>命令</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">redis-cli shutdown</span><br></pre></td></tr></table></figure>

<ul>
<li>强行终止redis</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pkill redis-server</span><br></pre></td></tr></table></figure>

<p>9、redis.conf 配置文件详解</p>
<p>redis默认是前台启动，如果我们想以守护进程的方式运行（后台运行），可以在<strong>redis.conf</strong>中将<code>daemonize no</code>,修改成<code>yes</code>即可。</p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/03/02/Mac%E5%AE%89%E8%A3%85Redis%EF%BC%8C%E5%8E%9F%E6%9D%A5%E5%B0%B1%E6%98%AF%E8%BF%99%E4%B9%88%E7%AE%80%E5%8D%95/" data-id="cktshq5a30004du9l3on73ztb" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Linux 安装 Nginx" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/02/25/Linux%20%E5%AE%89%E8%A3%85%20Nginx/" class="article-date">
  <time datetime="2021-02-25T07:02:47.403Z" itemprop="datePublished">2021-02-25</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/02/25/Linux%20%E5%AE%89%E8%A3%85%20Nginx/">Linux 安装 Nginx</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h3 id="Linux-安装-Nginx"><a href="#Linux-安装-Nginx" class="headerlink" title="Linux 安装 Nginx"></a>Linux 安装 Nginx</h3><ol>
<li>从官网下载 Nginx 安装包</li>
</ol>
<img src="https://cdn.jsdelivr.net/gh/Lummer-Li/image-bucket/image/20210225144124.png" alt="image-20210225144124679" style="zoom:60%;" />

<ol start="2">
<li><p>解压到本地</p>
<ul>
<li>命令行解压</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 切换到包含nginx压缩包的文件夹</span></span><br><span class="line">cd home/pi/Downloads</span><br><span class="line"><span class="meta">#</span><span class="bash"> 进行解压缩</span></span><br><span class="line">tar -zxvf nginx-1.19.7.tar.gz</span><br></pre></td></tr></table></figure>

<ul>
<li>实用工具解压</li>
</ul>
</li>
<li><p>进入终端, 切换到nginx解压后的文件夹中</p>
</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd /home/pi/Downloads/nginx-1.19.7</span><br></pre></td></tr></table></figure>

<ol start="4">
<li>安装前置依赖, 进入终端</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get install gcc</span><br><span class="line">sudo apt-get install libpcre3 libpcre3-dev</span><br><span class="line">sudo apt-get install zlib1g zlib1g-dev</span><br></pre></td></tr></table></figure>

<ol start="5">
<li>进行Nginx配置, 进入终端</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">./configure</span><br><span class="line">make</span><br><span class="line">sudo make install</span><br><span class="line"><span class="meta">#</span><span class="bash"> 最终会在/usr/<span class="built_in">local</span>文件夹中生成一个nginx文件夹, 里面会有配置文件</span></span><br></pre></td></tr></table></figure>

<ol start="6">
<li>启动nginx</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 切换到/usr/<span class="built_in">local</span>/nginx/sbin文件夹中</span></span><br><span class="line">cd /usr/local/nginx/sbin</span><br><span class="line">./nginx</span><br></pre></td></tr></table></figure>

<ol start="7">
<li>nginx常用命令</li>
</ol>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span><span class="bash"> 启动nginx</span></span><br><span class="line">./nginx</span><br><span class="line"><span class="meta">#</span><span class="bash"> 关闭nginx</span></span><br><span class="line">./nginx -s stop   或者   ./nginx -s quit</span><br><span class="line"><span class="meta">#</span><span class="bash"> 重启nginx</span></span><br><span class="line">./nginx -s reload</span><br><span class="line"><span class="meta">#</span><span class="bash"> 查看nginx进程</span></span><br><span class="line">ps aux|grep nginx</span><br><span class="line"><span class="meta">#</span><span class="bash"> nginx开机自启动</span></span><br><span class="line">vim /etc/rc.local</span><br><span class="line"><span class="meta">#</span><span class="bash"> 文件底部加上 /usr/<span class="built_in">local</span>/nginx/sbin/nginx</span></span><br></pre></td></tr></table></figure>

<ol start="8">
<li>Nginx 相关文件路径</li>
</ol>
<img src="http://cdn.baishew.com/hidove-images/2021/02/25/60374d8387e1e.jpg" alt="截屏2021-02-25 下午2.52.29" style="zoom:50%;" />


      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/02/25/Linux%20%E5%AE%89%E8%A3%85%20Nginx/" data-id="cktshq5a10002du9lg9q7aw36" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  
    <article id="post-Utils" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/hexo/2021/02/24/Utils/" class="article-date">
  <time datetime="2021-02-24T07:26:24.633Z" itemprop="datePublished">2021-02-24</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="/hexo/2021/02/24/Utils/">Utils</a>
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h3 id="SiteTools"><a href="#SiteTools" class="headerlink" title="SiteTools"></a>SiteTools</h3><ol>
<li>地图可视化生成器: <a target="_blank" rel="noopener" href="https://kepler.gl/">https://kepler.gl/</a></li>
<li>AI智能无损放大图片: <a target="_blank" rel="noopener" href="https://bigjpg.com/">https://bigjpg.com/</a></li>
<li>图片背景神器: <a target="_blank" rel="noopener" href="https://cleanmock.com/designer">https://cleanmock.com/designer</a></li>
<li>在线视频编辑: <a target="_blank" rel="noopener" href="https://promo.com/">https://promo.com/</a></li>
<li>图表生成器: <a target="_blank" rel="noopener" href="https://chartify.io/">https://chartify.io/</a></li>
<li>创可贴(图片设计模版): <a target="_blank" rel="noopener" href="https://www.chuangkit.com/">https://www.chuangkit.com/</a></li>
<li>中国大学MOOC: <a target="_blank" rel="noopener" href="https://www.icourse163.org/">https://www.icourse163.org/</a></li>
<li>MBA智库(百科类网站): <a target="_blank" rel="noopener" href="https://www.icourse163.org/">https://www.icourse163.org/</a></li>
<li>全历史: <a target="_blank" rel="noopener" href="https://www.allhistory.com/">https://www.allhistory.com/</a></li>
<li>下厨房(菜谱): <a target="_blank" rel="noopener" href="https://www.xiachufang.com/">https://www.xiachufang.com/</a></li>
<li>艺术设计(集成平台): <a target="_blank" rel="noopener" href="https://www.seeseed.com/">https://www.seeseed.com/</a></li>
<li>Pixabay(无版权图库): <a target="_blank" rel="noopener" href="https://pixabay.com/zh/">https://pixabay.com/zh/</a></li>
<li>FooyageCrate(视频特效源文件): <a target="_blank" rel="noopener" href="https://footagecrate.com/">https://footagecrate.com/</a></li>
<li>WallHaven(电脑壁纸): <a target="_blank" rel="noopener" href="http://wallhaven.cc/">http://wallhaven.cc/</a></li>
<li>VideVo(视频、音频素材): <a target="_blank" rel="noopener" href="https://www.videvo.net/">https://www.videvo.net/</a></li>
<li>今日热榜: <a target="_blank" rel="noopener" href="https://tophub.today/">https://tophub.today/</a></li>
<li>理想生活实验室(创意、设计、生活、消费): <a target="_blank" rel="noopener" href="https://www.toodaylab.com/">https://www.toodaylab.com/</a></li>
<li>SubHD字幕(字幕翻译网站+视频): <a target="_blank" rel="noopener" href="https://subhd.tv/">https://subhd.tv/</a></li>
<li>秘迹搜索(搜索引擎): <a target="_blank" rel="noopener" href="https://mijisou.com/">https://mijisou.com/</a></li>
<li>Ventusky 风雨气温图: <a target="_blank" rel="noopener" href="https://www.ventusky.com/">https://www.ventusky.com/</a></li>
<li>Stack Overflow(IT技术问答网站): <a target="_blank" rel="noopener" href="https://stackoverflow.com/">https://stackoverflow.com/</a></li>
<li>CodinGame(编程游戏): <a target="_blank" rel="noopener" href="https://www.codingame.com/start">https://www.codingame.com/start</a></li>
<li>GeeksforGeeks(算法和数据结构): <a target="_blank" rel="noopener" href="https://www.geeksforgeeks.org/">https://www.geeksforgeeks.org/</a></li>
<li>Coursera(公开在线课程项目): <a target="_blank" rel="noopener" href="https://www.coursera.org/">https://www.coursera.org/</a></li>
<li>Codewars(编程游戏): <a target="_blank" rel="noopener" href="https://www.codewars.com/">https://www.codewars.com/</a></li>
<li>TopCoder(编程比赛): <a target="_blank" rel="noopener" href="https://www.topcoder.com/challenges/">https://www.topcoder.com/challenges/</a></li>
<li>超级PDF(PDF处理工具): <a target="_blank" rel="noopener" href="https://xpdf.net/?utm_source=z&amp;utm_medium=b">https://xpdf.net/?utm_source=z&amp;utm_medium=b</a></li>
<li>Oalib(论文搜索引擎): <a target="_blank" rel="noopener" href="https://www.oalib.com/">https://www.oalib.com/</a></li>
<li>HighWire(斯坦福学术文献期刊): <a target="_blank" rel="noopener" href="https://www.highwirepress.com/">https://www.highwirepress.com/</a></li>
<li>Intute(学术资源搜索工具):  <a target="_blank" rel="noopener" href="https://www.jisc.ac.uk/">https://www.jisc.ac.uk/</a></li>
<li>FindAraticles(文献论文站点): <a target="_blank" rel="noopener" href="http://findarticles.com/">http://findarticles.com/</a></li>
<li>IntercheOpen(科技文献): <a target="_blank" rel="noopener" href="https://www.intechopen.com/">https://www.intechopen.com/</a></li>
<li>LolMyThesis(哈佛毕业论文): <a target="_blank" rel="noopener" href="https://lolmythesis.com/#_=">https://lolmythesis.com/#_=</a>_</li>
<li>万方数据库(论文查询、查重): <a target="_blank" rel="noopener" href="http://www.wanfangdata.com.cn/index.html">http://www.wanfangdata.com.cn/index.html</a></li>
<li>全国图书馆论文搜索: <a target="_blank" rel="noopener" href="http://www.ucdrs.superlib.net/">http://www.ucdrs.superlib.net/</a></li>
<li>Tutorialspoint(教程网站): <a target="_blank" rel="noopener" href="https://www.tutorialspoint.com/index.htm">https://www.tutorialspoint.com/index.htm</a></li>
<li>MDN Web Docs(Web开发实践): <a target="_blank" rel="noopener" href="https://developer.mozilla.org/zh-CN/">https://developer.mozilla.org/zh-CN/</a></li>
<li>菜鸟教程(编程学习): <a target="_blank" rel="noopener" href="https://www.runoob.com/">https://www.runoob.com/</a></li>
<li>V2ex(程序讨论): <a target="_blank" rel="noopener" href="https://www.v2ex.com/">https://www.v2ex.com/</a></li>
<li>思否(前端技术): <a target="_blank" rel="noopener" href="https://segmentfault.com/">https://segmentfault.com/</a></li>
<li>OverApi(python、NodeJS等知识): <a target="_blank" rel="noopener" href="https://overapi.com/">https://overapi.com/</a></li>
<li>编程在线工具: <a target="_blank" rel="noopener" href="https://tool.lu/">https://tool.lu/</a></li>
<li>StackShare(开发者工具): <a target="_blank" rel="noopener" href="https://stackshare.io/">https://stackshare.io/</a></li>
<li>中午吃什么: <a target="_blank" rel="noopener" href="https://www.zwcsm.com/">https://www.zwcsm.com/</a></li>
<li>台大图书馆: <a target="_blank" rel="noopener" href="http://ebooks.lib.ntu.edu.tw/Home/ListBooks">http://ebooks.lib.ntu.edu.tw/Home/ListBooks</a></li>
<li>PDFDrive(电子书): <a target="_blank" rel="noopener" href="https://www.pdfdrive.com/">https://www.pdfdrive.com/</a></li>
<li>图灵社区(电子书): <a target="_blank" rel="noopener" href="https://www.ituring.com.cn/">https://www.ituring.com.cn/</a></li>
<li>ManyBooks(电子书): <a target="_blank" rel="noopener" href="https://manybooks.net/">https://manybooks.net/</a></li>
<li>书格(电子书): <a target="_blank" rel="noopener" href="https://new.shuge.org/">https://new.shuge.org/</a></li>
<li>ePUBee(电子书): <a target="_blank" rel="noopener" href="http://www.ferebook.com/books/">http://www.ferebook.com/books/</a></li>
<li>书伴(电子书): <a target="_blank" rel="noopener" href="https://bookfere.com/">https://bookfere.com/</a></li>
<li>鸠摩搜索(电子书): <a target="_blank" rel="noopener" href="https://www.jiumodiary.com/">https://www.jiumodiary.com/</a></li>
<li>easyPDF(pdf处理): <a target="_blank" rel="noopener" href="https://easypdf.com/cn">https://easypdf.com/cn</a></li>
<li>视频下载: <a target="_blank" rel="noopener" href="http://weibodang.cn/">http://weibodang.cn/</a></li>
<li>英语入门: <a target="_blank" rel="noopener" href="http://www.yingyurumen.com/">http://www.yingyurumen.com/</a></li>
<li>可可英语: <a target="_blank" rel="noopener" href="http://www.kekenet.com/">http://www.kekenet.com/</a></li>
<li>Unsplash(图片素材): <a target="_blank" rel="noopener" href="https://unsplash.com/">https://unsplash.com/</a></li>
<li>PngPix(透明免抠素材图片): <a target="_blank" rel="noopener" href="http://www.pngpix.com/">http://www.pngpix.com/</a></li>
<li>StickPng(透明免抠图片素材): <a target="_blank" rel="noopener" href="https://www.stickpng.com/">https://www.stickpng.com/</a></li>
<li>AirPano(风景): <a target="_blank" rel="noopener" href="https://www.airpano.com/360photo_list.php">https://www.airpano.com/360photo_list.php</a></li>
<li>花火(动态图表制作): <a target="_blank" rel="noopener" href="https://hanabi.data-viz.cn/index?lang=zh-CN">https://hanabi.data-viz.cn/index?lang=zh-CN</a></li>
<li>小鸡辞典(网络流行语): <a target="_blank" rel="noopener" href="https://jikipedia.com/">https://jikipedia.com/</a></li>
<li>Khroma(配色工具): <a target="_blank" rel="noopener" href="http://khroma.co/">http://khroma.co/</a></li>
<li>BrandColors(配色工具): <a target="_blank" rel="noopener" href="https://brandcolors.net/">https://brandcolors.net/</a></li>
<li>PPT 超级市场: <a target="_blank" rel="noopener" href="https://ppt.sotary.com/web/wxapp/index.html">https://ppt.sotary.com/web/wxapp/index.html</a></li>
<li>搞定设计(作图做视频神器): <a target="_blank" rel="noopener" href="https://www.gaoding.com/introduction">https://www.gaoding.com/introduction</a></li>
<li>大数据: <a target="_blank" rel="noopener" href="https://www.dydata.io/?hmsr=zh-zxm&amp;hmpl=&amp;hmcu=&amp;hmkw=&amp;hmci=">https://www.dydata.io/?hmsr=zh-zxm&amp;hmpl=&amp;hmcu=&amp;hmkw=&amp;hmci=</a></li>
<li>图表(在线数据可视化): <a target="_blank" rel="noopener" href="https://dycharts.com/appv2/#/pages/home/index?hmsr=zh-zxm-Q1&amp;hmpl=&amp;hmcu=&amp;hmkw=&amp;hmci=">https://dycharts.com/appv2/#/pages/home/index?hmsr=zh-zxm-Q1&amp;hmpl=&amp;hmcu=&amp;hmkw=&amp;hmci=</a></li>
<li>迅捷PDF转换器(PDF处理): <a target="_blank" rel="noopener" href="https://app.xunjiepdf.com/">https://app.xunjiepdf.com/</a></li>
<li>熊猫搜书(电子书): <a target="_blank" rel="noopener" href="https://ebook.blinkol.com/#/">https://ebook.blinkol.com/#/</a></li>
<li>灵云语音云(语音转文字、文字转语音): <a target="_blank" rel="noopener" href="https://speech.aicloud.com/index/index/index">https://speech.aicloud.com/index/index/index</a></li>
<li>白描(OCR): <a target="_blank" rel="noopener" href="https://web.baimiaoapp.com/">https://web.baimiaoapp.com/</a></li>
<li>大圣盘(搜索网站): <a target="_blank" rel="noopener" href="https://www.dashengpan.com/#/">https://www.dashengpan.com/#/</a></li>
<li>ChromePDF(PDF编辑): <a target="_blank" rel="noopener" href="https://cn.chromepdf.com/">https://cn.chromepdf.com/</a></li>
<li>PixelMob(高清图片素材): <a target="_blank" rel="noopener" href="https://pixelmob.co/">https://pixelmob.co/</a></li>
<li>TraceMoe(动漫搜索): <a target="_blank" rel="noopener" href="https://trace.moe/">https://trace.moe/</a></li>
<li>iData(论文): <a target="_blank" rel="noopener" href="https://www.cn-ki.net/">https://www.cn-ki.net/</a></li>
<li>微软官方 Office 免费模版: <a target="_blank" rel="noopener" href="https://templates.office.com/">https://templates.office.com/</a></li>
<li>图片素材(矢量、字体、图表、视频): <a target="_blank" rel="noopener" href="https://www.stockio.com/">https://www.stockio.com/</a></li>
<li>淘链客(论文): <a target="_blank" rel="noopener" href="http://www.toplinks.cc/s/">http://www.toplinks.cc/s/</a></li>
<li>苦瓜书盘(书籍搜索): <a target="_blank" rel="noopener" href="https://kgbook.com/">https://kgbook.com/</a></li>
<li>WriteAthon(思维导图): <a target="_blank" rel="noopener" href="https://www.writeathon.cn/">https://www.writeathon.cn/</a></li>
<li>香当网(工作文档): <a target="_blank" rel="noopener" href="https://www.xiangdang.net/">https://www.xiangdang.net/</a></li>
<li>偶书(电子书): <a target="_blank" rel="noopener" href="https://obook.cc/">https://obook.cc/</a></li>
<li>美剧鸟(影视资源): <a target="_blank" rel="noopener" href="http://www.meijuniao.com/">http://www.meijuniao.com/</a></li>
<li>Slidesgo(PPT模版): <a target="_blank" rel="noopener" href="https://slidesgo.com/">https://slidesgo.com/</a></li>
<li>大学资源网(免费学习): <a target="_blank" rel="noopener" href="http://www.dxzy163.com/">http://www.dxzy163.com/</a></li>
<li>库问搜索(论文文献): <a target="_blank" rel="noopener" href="http://www.koovin.com/">http://www.koovin.com/</a></li>
<li>医学微视(医学科普): <a target="_blank" rel="noopener" href="https://www.mvyxws.com/">https://www.mvyxws.com/</a></li>
<li>懒人 Excel: <a target="_blank" rel="noopener" href="https://www.lanrenexcel.com/">https://www.lanrenexcel.com/</a></li>
<li>100Font(字体): <a target="_blank" rel="noopener" href="https://www.100font.com/">https://www.100font.com/</a></li>
<li>gitMind(思维导图): <a target="_blank" rel="noopener" href="https://gitmind.cn/">https://gitmind.cn/</a></li>
<li>期刊杂志: <a target="_blank" rel="noopener" href="http://new-qk.lifves.com/wap.php">http://new-qk.lifves.com/wap.php</a></li>
<li>在线打字练习: <a target="_blank" rel="noopener" href="https://barneyzhao.gitee.io/typing-cn/#/">https://barneyzhao.gitee.io/typing-cn/#/</a></li>
<li>拷贝兔(文件传输): <a target="_blank" rel="noopener" href="https://cp.anyknew.com/">https://cp.anyknew.com/</a></li>
<li>幕享(无线投屏): <a target="_blank" rel="noopener" href="https://letsview.com/zh/">https://letsview.com/zh/</a></li>
<li>英语台词社(英语台词): <a target="_blank" rel="noopener" href="http://www.taicishe.com/">http://www.taicishe.com/</a></li>
<li>爱企查(查企业): <a target="_blank" rel="noopener" href="https://aiqicha.baidu.com/">https://aiqicha.baidu.com/</a></li>
<li>VocalreMover(音频编辑工具): <a target="_blank" rel="noopener" href="https://vocalremover.org/ch/">https://vocalremover.org/ch/</a></li>
<li>doyoudo(软件教学): <a target="_blank" rel="noopener" href="http://www.doyoudo.com/">http://www.doyoudo.com/</a></li>
<li>一席(中国TED): <a target="_blank" rel="noopener" href="https://yixi.tv/#/home">https://yixi.tv/#/home</a></li>
<li>每日英语听力: <a target="_blank" rel="noopener" href="http://www.eudic.cn/ting/">http://www.eudic.cn/ting/</a></li>
<li>沪江英语: <a target="_blank" rel="noopener" href="https://www.hjenglish.com/">https://www.hjenglish.com/</a></li>
<li>译学馆(英语学习): <a target="_blank" rel="noopener" href="https://www.yxgapp.com/">https://www.yxgapp.com/</a> </li>
<li>秘塔写作猫(写作): <a target="_blank" rel="noopener" href="https://xiezuocat.com/#/">https://xiezuocat.com/#/</a></li>
<li>十行笔记(视频转笔记): <a target="_blank" rel="noopener" href="https://videoai.perspectivar.com/">https://videoai.perspectivar.com/</a></li>
<li>福利单词(测试单词拼写): <a target="_blank" rel="noopener" href="https://fox.ftqq.com/#/">https://fox.ftqq.com/#/</a></li>
<li>什么值得读(推荐书单): <a target="_blank" rel="noopener" href="https://www.shenmezhidedu.com/">https://www.shenmezhidedu.com/</a></li>
<li>小可搜搜(百度网盘资源搜索): <a target="_blank" rel="noopener" href="https://www.xiaokesoso.com/">https://www.xiaokesoso.com/</a></li>
<li>史莱姆搜索(百度网盘资源搜索): <a target="_blank" rel="noopener" href="http://www.slimego.cn/">http://www.slimego.cn/</a></li>
<li>fastsoso(网盘搜索): <a target="_blank" rel="noopener" href="https://www.fastsoso.cn/">https://www.fastsoso.cn/</a></li>
<li>小白盘(网盘搜索): <a target="_blank" rel="noopener" href="https://www.xiaobaipan.com/">https://www.xiaobaipan.com/</a></li>
<li>场库(短视频): <a target="_blank" rel="noopener" href="https://www.vmovier.com/">https://www.vmovier.com/</a></li>
<li>优视(优质广告): <a target="_blank" rel="noopener" href="https://www.tvcbook.com/">https://www.tvcbook.com/</a></li>
<li>NowNess(视频): <a target="_blank" rel="noopener" href="https://www.nowness.cn/">https://www.nowness.cn/</a></li>
<li>Pexel(下载图片、视频): <a target="_blank" rel="noopener" href="https://www.pexels.com/zh-cn/">https://www.pexels.com/zh-cn/</a></li>
<li>Colormind(配色): <a target="_blank" rel="noopener" href="http://colormind.io/">http://colormind.io/</a></li>
<li>WebFlow(设计网站): <a target="_blank" rel="noopener" href="https://webflow.com/">https://webflow.com/</a></li>
<li>Splitshire(电影海报): <a target="_blank" rel="noopener" href="https://www.splitshire.com/">https://www.splitshire.com/</a></li>
<li>优品PPT(PPT模版): <a target="_blank" rel="noopener" href="https://www.ypppt.com/">https://www.ypppt.com/</a></li>
<li>叮当设计(PPT模版): <a target="_blank" rel="noopener" href="https://www.dingdangsheji.com/">https://www.dingdangsheji.com/</a></li>
<li>docsmall(图片处理): <a target="_blank" rel="noopener" href="https://docsmall.com/">https://docsmall.com/</a></li>
<li>网易见外(翻译): <a target="_blank" rel="noopener" href="https://jianwai.youdao.com/">https://jianwai.youdao.com/</a></li>
<li>运营工具大全: <a target="_blank" rel="noopener" href="https://xiaomark.com/tool">https://xiaomark.com/tool</a> !!!</li>
<li>超级简历: <a target="_blank" rel="noopener" href="https://www.wondercv.com/">https://www.wondercv.com/</a></li>
</ol>
<h3 id="Program"><a href="#Program" class="headerlink" title="Program"></a>Program</h3><ol>
<li>Zoj: <a target="_blank" rel="noopener" href="http://acm.zju.edu.cn/home/">http://acm.zju.edu.cn/home/</a> </li>
<li>Poj: <a target="_blank" rel="noopener" href="http://poj.org/">http://poj.org/</a></li>
<li>牛客: <a target="_blank" rel="noopener" href="https://www.nowcoder.com/">https://www.nowcoder.com/</a></li>
<li>力扣: <a target="_blank" rel="noopener" href="https://leetcode-cn.com/">https://leetcode-cn.com/</a></li>
<li>pat: <a target="_blank" rel="noopener" href="https://www.patest.cn/">https://www.patest.cn/</a></li>
<li>pta: <a target="_blank" rel="noopener" href="https://pintia.cn/">https://pintia.cn/</a></li>
<li>openjudge: <a target="_blank" rel="noopener" href="http://noi.openjudge.cn/">http://noi.openjudge.cn/</a></li>
<li>洛谷: <a target="_blank" rel="noopener" href="https://www.luogu.com.cn/">https://www.luogu.com.cn/</a></li>
<li>uoj: <a target="_blank" rel="noopener" href="https://uoj.ac/">https://uoj.ac/</a></li>
<li>vijos:<a target="_blank" rel="noopener" href="https://vijos.org/">https://vijos.org/</a></li>
<li>codeforces: <a target="_blank" rel="noopener" href="http://codeforces.com/">http://codeforces.com/</a></li>
</ol>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://lummer.gitee.io/hexo/2021/02/24/Utils/" data-id="cktshq5a50007du9lg09w8xlx" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
</article>


  


  <nav id="page-nav">
    
    <span class="page-number current">1</span><a class="page-number" href="/hexo/page/2/">2</a><a class="extend next" rel="next" href="/hexo/page/2/">Next &amp;raquo;</a>
  </nav>

</section>
        
          <aside id="sidebar">
  
    

  
    

  
    
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Archives</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/09/">September 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/08/">August 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/07/">July 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/03/">March 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/02/">February 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/hexo/archives/2021/01/">January 2021</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Recent Posts</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/hexo/2021/09/15/hello-world/">Hello World</a>
          </li>
        
          <li>
            <a href="/hexo/2021/08/20/Mac%20%E5%85%A8%E5%B1%8F%E6%97%B6%E8%87%AA%E5%8A%A8%E9%9A%90%E8%97%8F%E7%A8%8B%E5%BA%8F%E5%9D%9E/">Mac 全屏时自动隐藏程序坞</a>
          </li>
        
          <li>
            <a href="/hexo/2021/07/29/Mac%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84.DS_Store/">Mac系统中的.DS_Store</a>
          </li>
        
          <li>
            <a href="/hexo/2021/07/21/Markdown/">Markdown</a>
          </li>
        
          <li>
            <a href="/hexo/2021/07/11/Github%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E7%BD%91%E7%AB%99%EF%BC%8C%E8%A7%A3%E5%86%B3Github%E8%AE%BF%E9%97%AE%E7%9A%84%E7%A5%9E%E5%99%A8/">Github国内镜像网站，解决Github访问的神器</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy; 2021 John Doe<br>
      Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>
    </div>
    <nav id="mobile-nav">
  
    <a href="/hexo/" class="mobile-nav-link">Home</a>
  
    <a href="/hexo/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>


  
<link rel="stylesheet" href="/hexo/fancybox/jquery.fancybox.css">

  
<script src="/hexo/fancybox/jquery.fancybox.pack.js"></script>




<script src="/hexo/js/script.js"></script>




  </div>
</body>
</html>